Skip to content

Instantly share code, notes, and snippets.

@Isa3v
Isa3v / script.js
Created Mar 5, 2021
Переменная css (100vh) для всех устройств и IOS Safari через JS
View script.js
const appHeight = () => {
const doc = document.documentElement
doc.style.setProperty('--max-height-app', `calc(${window.innerHeight}px)`);
}
appHeight()
@Isa3v
Isa3v / script.js
Created Nov 17, 2020
Умный фильтр битрикс ajax обновление без параметра "AJAX_MODE=Y"
View script.js
// В script.js компонента bitrix:catalog.smart.filter
// Вместо
//if (modef.style.display === 'none')
//{
// modef.style.display = 'inline-block';
//}
// Пишем. Это ajax запрос к сформированной ссылке. А дальше вытягиваем, что нужно
$.get(
BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL),
@Isa3v
Isa3v / BasketHelper.php
Created Oct 26, 2020
Класс для удобной реализации добавления удаления и обновления товаров в корзину на D7
View BasketHelper.php
<?php
namespace Isaev;
use \Bitrix\Main\Loader;
use \Bitrix\Sale;
use \Bitrix\Main\SystemException;
Loader::includeModule('sale');
Loader::includeModule('catalog');
@Isa3v
Isa3v / script.js
Created Jul 31, 2020
Возврат к позиции на странице при нажатии “Назад” (History API)
View script.js
var isDeviceIos = navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i);
var historyScrollBack = (historyTab) => {
if (history.state && historyTab.hasOwnProperty('lastScroll')) {
window.scrollTo(0, historyTab.lastScroll);
}
};
// Возрват к позиции при нажатии кнопки назад (Запись)
window.addEventListener((isDeviceIos ? "pagehide" : "beforeunload"), function (e) {
@Isa3v
Isa3v / README.MD
Created Jul 28, 2020
Получаем купоны доступные пользователю
View README.MD

Получаем купоны доступные пользователю Bitrix

@Isa3v
Isa3v / README.MD
Created Jul 15, 2020
Добавляем список товаров с ссылками в письмо с заказом
View README.MD

Добавляет переменную для шаблона письма заказа, добавляющая список заказов с ссылками

#ORDER_LINKS_ITEMS#- Добавляем в шаблон письма о новом заказе

@Isa3v
Isa3v / init.php
Created Jul 10, 2020
Debug-функция для отладки Bitrix
View init.php
<?
function debug($variable, $die = false)
{
global $APPLICATION, $USER;
if ($USER->IsAdmin()) {
if ($die == true) {
$APPLICATION->RestartBuffer();
}
echo '<pre> <code>';
print_r($variable);
@Isa3v
Isa3v / README.MD
Last active Nov 25, 2020
Настройка сортировки Bitrix в компонентах
View README.MD

Bitrix сортировка

  • Подключаем перед catalog.section, news.list
  • Заменяем $arParams["ELEMENT_SORT_FIELD"] и $arParams["ELEMENT_SORT_ORDER"] на $_SESSION["ELEMENT_SORT_FIELD"] и $_SESSION["ELEMENT_SORT_ORDER"]
@Isa3v
Isa3v / README.md
Last active Jun 17, 2020
Просто картинки для Readme.md
We couldn’t find that file to show.
@Isa3v
Isa3v / init.php
Last active Nov 25, 2020
Защищаем веб-формы битрикса от примитивных ботов (Скрытая капча)
View init.php
<?
\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "OnEndBufferWebFormAntiSpam");
function OnEndBufferWebFormAntiSpam(&$content)
{
// Добавляем стили перед head
$xStyle = '<style>.xname{display:block;height:.1px;margin:0!important;overflow:hidden;padding:0!important;width:.1px;border:0;opacity:.01;}</style>'; // Стили для поля
$content = str_ireplace('</head>', $xStyle.'</head>', $content);
// Добавляем поля
$findField = '<input type="hidden" name="WEB_FORM_ID"'; // У всех веб-форм есть это поле (Должно быть)
$xField = '<input class="xname name" tabindex="-1" autocomplete="off" type="text" name="last_name" value="">'; // Максимально завлекающее ботов поля с утыканными name