Skip to content

Instantly share code, notes, and snippets.

@Elvinz
Elvinz / index.pug
Created May 31, 2020 09:14
mouse parallax demo
#parallax
.layer(data-depth="0.6")
.some-space
h1 PARALLAX
.layer(data-depth="0.4")
#particles-js
.layer(data-depth="0.3")
@Elvinz
Elvinz / index.html
Created May 30, 2020 20:06
spjparticles.js
<!-- particles.js container --> <div id="particles-js"></div> <!-- stats - count particles --> <div class="count-particles"> <span class="js-count-particles">--</span> particles </div> <!-- particles.js lib - https://github.com/VincentGarreau/particles.js --> <script src="http://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script> <!-- stats.js lib --> <script src="http://threejs.org/examples/js/libs/stats.min.js"></script>
@Elvinz
Elvinz / index.html
Created May 30, 2020 20:02
Planetygon 🌐
<canvas id="scene"></canvas>
$('.order').click(function(){
var ide = $(this).parent().find('input:hidden').val();
$.ajax({
type: "POST",
data: 'action=ADD2BASKET&ajax_basket=Y&id='+ide,
url: '/',
success: function(data){
data = data.split('\'').join('\u0022');
var obj = JSON && JSON.parse(data) || $.parseJSON(data);
if (obj.STATUS == 'OK'){
@Elvinz
Elvinz / init.php
Created April 20, 2020 06:30 — forked from d1i1m1o1n/init.php
Bitrix detect mobile devices and enable mobile template and redirect to mobile folder
<?
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
//define('siteType', 'dev');
//Определяем мобильные устройства библиотекой http://mobiledetect.net/
require_once 'include/Mobile_Detect.php';
$detect = new Mobile_Detect;
//Все мобилные устройства кроме планшетов
if( $detect->isMobile() && !$detect->isTablet() ){
@Elvinz
Elvinz / multiple-3rd-party-widgets.js
Created March 7, 2020 07:14 — forked from zenorocha/multiple-3rd-party-widgets.js
Loading multiple 3rd party widgets asynchronously
(function() {
var script,
scripts = document.getElementsByTagName('script')[0];
function load(url) {
script = document.createElement('script');
script.async = true;
script.src = url;
scripts.parentNode.insertBefore(script, scripts);
@Elvinz
Elvinz / gist:748bf5137b1cdba1da317213a8eaa5c8
Last active March 3, 2020 13:57
ResizeImageGet и простой водяной знак налету
Итак, за основу я взял метод ResizeImageGet. Почему? Потому что именно он делает копию картинки, а не воздействует на оригинал. И именно он внутри себя обращается к методу CFile::ResizeImageFile, который уже может наложить водяной знак.
Для начала создаем класс с одним статическим методом:
class CFileWater extends CAllFile
{
public static $watermark = array(
'position' => 'mc',//допустимые http://prntscr.com/c3hc9i
'type' => 'file',
'size' => 'real',
'alpha_level' => 100,//прозрачность
@Elvinz
Elvinz / bitrix_cart
Created February 19, 2020 02:52
Обновление корзины без перезагрузки страницы
Для этого в header.php шаблона сайта добавляем следующий скрипт, предварительно подключив jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function(){
function getBasketHTML(html)
{
txt = html.split('<!--start--><div id="bid">');
txt = txt[2];
txt = txt.split('</div><!--end-->');
@Elvinz
Elvinz / SetViewTarget
Last active February 4, 2020 08:36
Как вывести произвольный контент в шаблоне сайта и компонента
Усовершенствованные методы буферизации в шаблоне позволяют более не использовать CBitrixComponentTemplate::EndViewTarget() ввиду того, что конец шаблона вызывает завершение буферизации автоматически.
Описанные ниже способы по своей сути похожи на Включаемые области. Только Включаемая область это файл подключаемый в шаблоне сайта, а указанные методы - это область, которая формируется в коде шаблона.
Можно использовать как в шаблоне сайта, так и в шаблоне компонента.
Теперь есть поддержка стандартного кеширования в компонентах.
template.php:
<?$this->SetViewTarget("sidebar");?>
@Elvinz
Elvinz / bitrix-ajax-load-elements
Created January 17, 2020 10:34
Показать еще / ajax подгрузка элементов в Битрикс
Создать свой шаблон компонента постраничной навигации bitrix:system.pagenavigation
<?if($arResult["NavPageCount"] > 1):?>
<?if ($arResult["NavPageNomer"]+1 <= $arResult["nEndPage"]):?>
<?
$plus = $arResult["NavPageNomer"]+1;
$url = $arResult["sUrlPathParams"] . "PAGEN_1=" . $plus
?>
<div class="load_more" data-url="<?=$url?>">
Показать еще
</div>