Skip to content

Instantly share code, notes, and snippets.

@Ginnw2
Ginnw2 / gist:88bb697ff0d99a8b817edb0c7592a04e
Last active June 2, 2021 13:23
Массовое создание свойств инфоблоков
<?$resB = CIBlock::GetList(
Array(),
Array(
'TYPE'=>'catalog'
), false
);
while($ar_res_blo = $resB->Fetch())
{
$iblon[] = $ar_res_blo['ID'];
}
@Ginnw2
Ginnw2 / template.php
Created March 28, 2021 07:21
Список элементов инфоблока со свойствами D7
<?
$dbItems = \Bitrix\Iblock\ElementTable::getList(array(
'select' => array('ID', 'NAME', 'IBLOCK_ID'),
'filter' => array('IBLOCK_ID' => $arParams['IBLOCK_ID'])
));
while ($arItem = $dbItems->fetch()){
$dbProperty = \CIBlockElement::getProperty(
$arItem['IBLOCK_ID'],
$arItem['ID']
);
<?
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 April 1, 2021 08:08 — forked from VasiliuKr/bitrix_smart_filter_ajax.js
catalog.smart.filter - ajax обновление списка без AXAJ_MODE
// В шаблоне bitrix:catalog.smart.filter редактируем script.js
//ищим функцию JCSmartFilter.prototype.postHandler и вписываем следующее
$.get(
BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL),
function (data) {
history.pushState(null, null, result.FILTER_AJAX_URL);//подставляем адрес в адресную строку
$('.catalog-list').html($(data).find('.catalog-list').html());
}
);
\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "removeSpacesAndTabs");
/**
* Удаляет табы и лишние пробелы из html кода
*
* @param $content
*/
function removeSpacesAndTabs (&$content) {
global $APPLICATION;
$page = $APPLICATION->GetCurPage();
<!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">
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
//-- Собственно обработчик события
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
//-- получаем телефоны и адрес
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
$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 October 16, 2020 08:30
AJAX форма с ответом в fancybox
$('#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 December 12, 2019 08:33
Убираем страницы с адресом http://site.site/element_code/random с учетом GET параметров
<?
//удалаем 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"])