Skip to content

Instantly share code, notes, and snippets.

@Ginnw2
Ginnw2 / init.php
Created March 7, 2025 05:24
Функция определения мобильного устройства
<?
// Функция определения мобильного устройства
function isMobile()
{
// Проверяем, что это не планшет
$isTablet = preg_match("/(tablet|ipad|playbook|silk)/i", $_SERVER["HTTP_USER_AGENT"]);
if ($isTablet) {
return false;
}
@Ginnw2
Ginnw2 / init.php
Created March 7, 2025 05:21
меняем в теле страницы спец.вставки в примере {$city} меняется на название города
<?
// Добавление города в <title>
EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", function (&$content) {
global $APPLICATION;
// Получаем поддомен
$subdomain = SaleOrderEvents::getSubdomain();
// Определяем город
$domainToCity = [
@Ginnw2
Ginnw2 / init.php
Created March 7, 2025 05:18
разные типы цен на поддонах при этом на поддомен нужно указать только global $TYPE_PRICE; $TYPE_PRICE = 3;
<?
EventManager::getInstance()->addEventHandler("catalog", "OnGetOptimalPrice", 'OnGetOptimalPriceHandler');
global $TYPE_PRICE;
$TYPE_PRICE = 1;
function OnGetOptimalPriceHandler($productID, $quantity = 1, $arUserGroups = [], $renewal = "N", $arPrices = [], $siteID = "sr", $arDiscountCoupons = false)
{
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
@Ginnw2
Ginnw2 / init.php
Created March 7, 2025 05:16
Установить в поле LOCATION значение по умолчанию в зависимости от домена
<?
EventManager::getInstance()->addEventHandlerCompatible(
'sale',
'OnSaleComponentOrderProperties',
['SaleOrderEvents', 'fillLocation']
);
class SaleOrderEvents
{
/**
@Ginnw2
Ginnw2 / seotagtemplate.php
Created March 7, 2025 05:13
Массово установить шаблоны мета тегов для подразделов раздела
<?
use Bitrix\Main\Loader;
use Bitrix\Iblock\SectionTable;
use Bitrix\Iblock\InheritedProperty;
Loader::includeModule('iblock');
$iblockId = 28; // ID инфоблока
$sectionId = 189; // ID родительского раздела
@Ginnw2
Ginnw2 / init.php
Created December 17, 2024 06:09
создание купона и отправка в sms при регистрации пользователя по номеру телефона
<?
AddEventHandler("main", "OnAfterUserRegister", "OnAfterUserRegisterHandler");
function OnAfterUserRegisterHandler(&$arFields)
{
if (intval($arFields["ID"]) > 0) {
$userId = $arFields["ID"];
$PhoneAuthTable = \Bitrix\Main\UserPhoneAuthTable::getList($parameters = array(
'filter'=>array('USER_ID' =>$userId)
));
@Ginnw2
Ginnw2 / text.txt
Created October 24, 2024 10:30
bitrix user from folders and files
cd ~/www
find . -type d -exec chmod 775 {} \;
find . -type f -exec chmod 664 {} \;
find . -type d -exec chown bitrix:bitrix {} \;
find . -type f -exec chown bitrix:bitrix {} \;
@Ginnw2
Ginnw2 / content_wherever_you_want.php
Last active August 23, 2023 11:37
Контент в любом месте страницы Bitrix
<?$APPLICATION->ShowViewContent('sidebar'); // для вывода результата ?>
<?$this->SetViewTarget('sidebar');?>
<?//your content for show?>
<?$this->EndViewTarget();?>
@Ginnw2
Ginnw2 / component.js
Created July 14, 2023 12:07
Обносить все содержимое корзины
BX.Sale.BasketComponent.sendRequest('refreshAjax', {fullRecalculation: 'Y'});
@Ginnw2
Ginnw2 / all_product_price_add_upd.php
Last active April 7, 2023 15:20
Установить цену 1 р для всех товаров.
<?CModule::IncludeModule("catalog");
$arSelect = Array("ID", "IBLOCK_ID", "CATALOG_PRICE_1");
$arFilter = Array("IBLOCK_ID"=>17);
//ID инфоблока с ТП, а не с простыми товарами
$resw = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1000000), $arSelect);
while($ob = $resw->GetNextElement()){
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
{
echo $arFields[ID].' - '.$arFields['CATALOG_PRICE_1'].'</br>';