Разработка сайтов на 1С-Битрикс
1 subscriber
4 photos
21 links
Меня зовут Лев, занимаюсь разработкой сайтов на 1С-Битрикс 5+ лет

Тут буду публиковать разные мелкие фишечки и лайфхаки которые помогут тем кто работает с сайтам на Битрикс

Качественаня разработка/доработка сайтов

Демидов Лев: https://t.me/LevDemidov
Download Telegram
<?if(is_array($templateData['GALLERY_BIG']) && count($templateData['GALLERY_BIG'])):?>
Проверка, авторизован ли пользователь

<? if ($USER->IsAuthorized()) {?>
<p>123</p>
<?} else { ?>
<p>345</p>
<?}?>
Проверка, состоит ли авторизованный пользователь в группе

global $USER;
$groupID = 5; # ID группы

if (in_array($groupID,$USER->GetUserGroupArray())){
echo 'Пользователь состоит в группе!';
} else {
echo 'Пользователь вне группы...';
}
Перенаправление на другую странцу при наличие вхождения в гет параметр

<?php
$thispage = $_SERVER['REQUEST_URI'];
$needle = '?login=yes';
$pos = strripos($thispage, $needle);
if ($pos == true) header("Location: https://vm-4557e66d.na4u.ru/product/pokupaem/");;
?>
Удалить после определенного символа

=REGEXEXTRACT(C6;".+DEL")
if else правильный, без лишнего кода

<? if(empty($arResult["PROPERTIES"]["ANALOG"]["VALUE"]["TEXT"])) {?>
1
<?} else { ?>
2
<?}?>
Вывод свойства инфоблока тест

<?=htmlspecialcharsBack($arResult["PROPERTIES"]["ANALOG"]["VALUE"]["TEXT"])?>
Обратиться к дочерним элементам с data

div.bx-soa-pp-company[data-id="75"] div.bx-soa-pp-delivery-cost {
display: none !important;
}
Получить количество товара в карточке $arResult["PRODUCT"]["QUANTITY"]
Канониклы в битрикс у страниц самих на себя

https://marketplace.1c-bitrix.ru/solutions/ptb.canonical/

Добавляем этот код

$thispage = $_SERVER['REQUEST_URI'];
$needle = '?PAGEN';
$pos = strripos($thispage, $needle);


if ($pos == true) {

} else {
Page\Asset::getInstance()->addString('<link rel="canonical" href="' . $uri->getUri() . '"'.($bDebug ? ' from="ptb.canonical"' : '').' />', true);
}

в модуль в файл

\www\bitrix\modules\ptb.canonical\classes\handlers.php

Чтобы каноникл не дублировался на страницах пагинаций
Channel name was changed to «Разработка сайтов на 1С-Ббитрикс»
Channel name was changed to «Разработка сайтов на 1С-Битрикс»
Замер скорости загрузки страницы
$start = microtime(true); // в начало скрипта, обычно header
echo $time = microtime(true) - $start; //добавляешь по ходу кода
noindex, nofollow для страниц пагинации шаблона аспро

\www\local\templates\aspro_max\components\bitrix\system.pagenavigation\main\template.php