Whatsapp 7(999)133 53 75 info@changstudio.ru
7(999) 133-53-75 mail@ayupov.org

Шпаргалка Битрикс

Поключаем стили и скрипты в head перед закрывающим тегом

<?
...
// D7
use Bitrix\Main\Page\Asset;

Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/fix.js");
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/styles/fix.css");
Asset::getInstance()->addString("<link href='http://fonts.googleapis.com/css?family=PT+Sans:400&subset=cyrillic' rel='stylesheet' type='text/css'>");

?>

Отключаем кэширование по группам, если компонент показывает одинаковые данные для всех

"CACHE_GROUPS" => "N"

Ресайз изображений в шаблоне компонента

<? foreach ($arResult["ITEMS"] as $arItem): ?>
...

<? $renderImage = "";
$renderImage = CFile::ResizeImageGet( $arItem["PREVIEW_PICTURE"]["ID"], Array("width" => 875, "height" => 530), BX_RESIZE_IMAGE_EXACT, true);

//print_r($renderImage);
$src = $renderImage["src"];
$width = $renderImage["width"];
$height = $renderImage["height"];
?>

Ссылка в телефонном номере из включаемой области

<?
$phoneFile = $_SERVER['DOCUMENT_ROOT'] . '/local/templates/main/include_areas/Phone.php';
$tel = file_get_contents($phoneFile);
$telText = preg_replace('/[+][^0-9]/', '', $tel);
$strTel = (substr($telText, 0, 1));
switch ($strTel) {
case '+':
$telLink2 = $telText;
break;
case 7:
$telLink2 = '+' . $telText;
break;
case 8:
$telLink2 = substr_replace($telText, '+7', 0, 1);
break;
}

?>

<a href="tel:<?= $telLink2; ?>" class="phone">
<? $APPLICATION->IncludeComponent("bitrix:main.include", "", Array(
"AREA_FILE_SHOW" => "file",
"AREA_FILE_SUFFIX" => "",
"EDIT_TEMPLATE" => "",
"PATH" => "local/templates/main/include_areas/Phone.php"
)
); ?>
</a>

 

Поля разделов

<?
$res = CIBlockSection::GetByID($arItem['IBLOCK_SECTION_ID']);
if ($ar_res = $res->GetNext()):?>
<a href="<?= $ar_res['SECTION_PAGE_URL']; ?>"><?= $ar_res['NAME']; ?></a>
<? endif; ?>
.........
<?$dbSection = CIBlockSection::GetList(Array(), array(
"ID" => $arResult["ID"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"]
), false ,Array("UF_BROWSER_TITLE","UF_PREVIEW",""));
if($arSection = $dbSection->GetNext()){
$arResult["MY_SECTION"] = $arSection;
}?>
<?=$arSection['UF_BROWSER_TITLE']?>
<?=$arSection['UF_PREVIEW']?>

 

Выводить сайдбар а зависимости от url страницы

header
<?$needSidebar = preg_match("~^".SITE_DIR."(blog|catalog|personal\/cart|personal\/order\/make)/~", $curPage) || $GLOBALS['APPLICATION']->GetCurPage(false) === '/';?>
<div class="bx-content <?=($needSidebar ? "col" : "col-md-9 col-sm-8")?>">
...
footer
<!-- region Sidebar -->
<?if (!$needSidebar):?>
<div class="sidebar col-md-3 col-sm-4">
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "sect",
"AREA_FILE_SUFFIX" => "sidebar",
"AREA_FILE_RECURSIVE" => "Y",
"EDIT_MODE" => "html",
),
false,
Array('HIDE_ICONS' => 'Y')
);?>
</div>
<?endif?>

 

Отправка письма по событию добавления элемента в инфоблок

<?
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("OnAfterArticleAdd", "OnAfterIBlockElementAddHandlerLast"));

class OnAfterArticleAdd
{
  function OnAfterIBlockElementAddHandlerLast(&$arFields)
  {
   if ($arFields["IBLOCK_ID"] == 14) {

     function GetListValueById($ID)
     {
      $UserField = CIBlockPropertyEnum::GetList(array(), array("ID" => $ID));
      if ($UserFieldAr = $UserField->GetNext()) {
        return $UserFieldAr["VALUE"];
      } else return false;
     }

     if (CModule::IncludeModule('iblock')) {

      $rsProp = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $arFields["ID"], "sort", "asc", array("ID" => 66,"NOMINATION" => 61));
      while ($ar_props = $rsProp->GetNext())
        $PROPS[$ar_props['CODE']] = $ar_props['VALUE'];
      $NOMINACIA_ID = $PROPS['NOMINACIA'];
      $IMG_ID = $PROPS['FILE'];


      $IMG = CFile::GetPath($IMG_ID);
      $NOMINATION = GetListValueById($NOMINACIA_ID);

     }

     $arEventFields = array(
      "NAME" => $arFields["NAME"],
      "VOZRAST" => $arFields["PROPERTY_VALUES"]["60"],
      "NOMINACIA" => $arFields["PROPERTY_VALUES"]["61"],
      "FIOPARENT" => $arFields["PROPERTY_VALUES"]["62"],
      "PHONE" => $arFields["PROPERTY_VALUES"]["63"],
      "ADDRESS" => $arFields["PROPERTY_VALUES"]["64"],
      "EMAIL" => $arFields["PROPERTY_VALUES"]["65"],
      "FILE" => $arFields["PROPERTY_VALUES"]["66"],
     );


     //print_r($arFields['ID']);die();
     $headers = "MIME-Version: 1.0\r\n";
     $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
     $message = 'Имя: ' . $arEventFields['NAME'] . '<br/>';
     $message .= 'Возраст: ' . $arEventFields['VOZRAST'] . '<br/>';
     $message .= 'Номинация: ' . $NOMINATION . '<br/>';
     $message .= 'Ф.И.О. родителя/творческого руководителя: ' . $arEventFields['FIOPARENT'] . '<br/>';
     $message .= 'Контактный телефон: ' . $arEventFields['PHONE'] . '<br/>';
     $message .= 'Адрес (почтовый): ' . $arEventFields['ADDRESS'] . '<br/>';
     $message .= 'Адрес электронной почты: ' . $arEventFields['EMAIL'] . '<br/>';
     $message .= 'Картинка: ' . '<img src="https://site.ru' . $IMG . '">';
     mail('test@test.ru', 'Новая заявка на конкурс детских рисунков', $message, $headers);
   }
  }
}
Разработка сайта dopline.ru

Создание корпоративного сайта компании Доплайн

НПП ТехНефтеМаш

Разработка корпоративного сайта с каталогом продукции НПП ТехНефтеМаш

Продвижение ресторана PranaBar.ru в СПб

Разработка сайтов для вегетарианского ресторана Prana Bar

FirstTalents.ru

Каталог международных фестивалей и конкурсов Первые Таланты

UntiFlags.ru

Разработка интернет-магазина флажной продукции

Сервис CleanUp

Разработка сервиса по уборке квартир CleanUp

Нам доверяют