Skip to content

Instantly share code, notes, and snippets.

View Удаление товара из корзины по id товара Bitrix
<?
if (CModule::IncludeModule('sale')) {
$dbBasketItems = CSaleBasket::GetList(array(),array(
'FUSER_ID' => CSaleBasket::GetBasketUserID(),
'LID' => SITE_ID,
'ORDER_ID' => 'NULL',
'PRODUCT_ID' => $ID));
if ($arBasket = $dbBasketItems->Fetch()) {
CSaleBasket::Delete($arBasket['ID']);
}
@Ginnw2
Ginnw2 / bitrix_smart_filter_ajax.js
Last active Jan 27, 2021 — forked from VasiliuKr/bitrix_smart_filter_ajax.js
catalog.smart.filter - ajax обновление списка без AXAJ_MODE
View bitrix_smart_filter_ajax.js
// В шаблоне bitrix:catalog.smart.filter редактируем script.js
//ищим функцию JCSmartFilter.prototype.postHandler и вписываем следующее
$.get(
BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL),
function (data) {
$('.catalog-list').html($(data).find('.catalog-list').html());
}
);
View Минификация html, убираем пробелы и переносы
\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "removeSpacesAndTabs");
/**
* Удаляет табы и лишние пробелы из html кода
*
* @param $content
*/
function removeSpacesAndTabs (&$content) {
global $APPLICATION;
$page = $APPLICATION->GetCurPage();
View gist:6c53a4fd9cf4af78284109a3ac162e13
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script>
</head>
<body>
<div class="blocks">
<div class="block">
View Свои поля в почтовые шаблоны Битрикс для заказа.
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
//-- Собственно обработчик события
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
//-- получаем телефоны и адрес
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
View Элемент по ID
$arSelect = Array();//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arFilter = Array("IBLOCK_ID"=>IntVal($IBLOCK_ID), "ELEMENT_ID"=>$ELEMENT_ID);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1), $arSelect);
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields(); //параметры
$arProps = $ob->GetProperties(); //свойства
}
@Ginnw2
Ginnw2 / ajax form
Last active Oct 16, 2020
AJAX форма с ответом в fancybox
View ajax form
$('#FORMFEED').on("submit", function(event) {
var form = $(this);
var form_data = new FormData(this);
event.preventDefault();
$.ajax({
type: "POST",
async: true,
url: $(this).attr('action'),
cache: false,
contentType: false,
@Ginnw2
Ginnw2 / Убираем дубли страниц Битрикс
Last active Dec 12, 2019
Убираем страницы с адресом http://site.site/element_code/random с учетом GET параметров
View Убираем дубли страниц Битрикс
<?
//удалаем GET
$url = explode('?', $_SERVER['REQUEST_URI']);
//получаем ссылку без GET
$url = $url[0];
//преобразовываем в массив
$pieces = explode("/", $url);
$new_array = array_diff($pieces, array(''));
//проверяем соответствие кода элемента и последнего элемента массива
if(end($new_array)!=$_REQUEST["ELEMENT_CODE"])
View Плавная прокрутка к div id jquery
$(document).on('click', 'a[href^="#"]', function(e) {
// target element id
var id = $(this).attr('href');
// target element
var $id = $(id);
if ($id.length === 0) {
return;
}
View Загрузка slick-slider по клику
var slick = $('.slider').slick({
//Тут параметры
});
//Теперь по клику на изображение magnific-popup реинициализируем слайдер
$('.img').click(function() {
slick.slick('refresh');
});