Обучаю битриксу программистов, интеграторов. Подробнee ⇒

Сниппеты для работы



Это для меня. Всякие мелкие сниппеты

для init.php
use Bitrix\Main; 
use \Bitrix\Main\Loader;
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/log.txt");



AddEventHandler("catalog", "OnBeforeProductAdd", "MyOnBeforeProductAdd");
AddEventHandler("catalog", "OnBeforeProductUpdate", "MyOnBeforeProductUpdate");



function MyOnBeforeProductAdd(&$arFields){
    if (@$_REQUEST['mode']=='import'){//импорт из 1с          
    }
    return true;
}
function MyOnBeforeProductUpdate($id,&$arFields){
    if (@$_REQUEST['mode']=='import'){//импорт из 1с          
    }
    return true;
}
подключить пролог
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
проверка подключения пролога
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

в шаблоне подключение своих стилей, скриптов
старое ядро
$APPLICATION->AddHeadScript('/bitrix/templates/.default/js/jquery.min.js');
$APPLICATION->AddHeadScript($this->GetFolder() . '/script.js');
$APPLICATION->SetAdditionalCSS('/bitrix/templates/.default/css/jquery-ui.css');
d7
use Bitrix\Main\Page\Asset;

Asset::getInstance()->addCss($this->GetFolder() . '/dealer_client_choose.css');
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . '/assets/js/script.js', true);

пути
<?=$component->GetPath()?>/component.php
<?=$this->GetFolder()?>/ajax.php //обращение из template.php к файлу ajax.php в папке шаблона

$templateFile –  путь к шаблону относительно корня сайта,
$arResult –  массив результатов работы компонента,
$arParams – массив входящих параметров компонента,
$arLangMessages – массив языковых сообшений шаблона (для php шаблонов не устанавливается),
$templateFolder – папка шаблона, если он лежит в папке (с дополнительными ресурсами),
$parentTemplateFolder – папка родительского шаблона,
$component – объект текущего компонента.
Кроме того внутри PHP шаблона объявлены глобальными переменные $APPLICATION, $USER, $DB
SITE_TEMPLATE_PATH - путь шаблона сайта
<?ob_start();?>
Hello Nika
<?
$hello = ob_get_contents();
ob_end_clean();
?>
Before hello text
<?=$hello?>
файл лога
echo LOG_FILENAME;

//получить содержимое
$data = file_get_contents(LOG_FILENAME); 
var_dump($data);

//очистить
file_put_contents(LOG_FILENAME,""); 
норм вставка из YouTube
<iframe 
   style="width:100%;height:325px;" 
   frameborder="0" 
   allowfullscreen="1" 
   allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
   title="Video Title" 
   width="640" 
   height="365" 
   src="https://www.youtube.com/embed/MisjXqBpKdg? --тут не надо переноса
     controls=1&modestbranding=1&rel=0&showinfo=0&loop=0&fs=1&hl=en&enablejsapi=1& --тут не надо переноса
     origin=https%3A%2F%2Fmysite.ru&widgetid=1">
</iframe>
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!