Примеры небольших, но часто крайне полезных php сниппетов для Битрикса.


Категории: PHP, Bitrix CMS
Пометки: SEO, метатеги, раздел, название раздела, категория, meta,сео, картина раздела категории, фото, все товары. полезное битрикс

При обновлении Битрикса получил ошибку:

MySQL Query Error: CREATE TABLE b_sale_cashbox_check_correction( ID int(11) unsigned not null auto_increment, CHECK_ID int(11) not null, CORRECTION_TYPE varchar(50) not null, DOCUMENT_NUMBER varchar(35) not null, DOCUMENT_DATE date not null, DESCRIPTION varchar(255) default '', CORRECTION_PAYMENT text default '', CORRECTION_VAT text default '', PRIMARY KEY (ID) ) [[1101] BLOB, TEXT, GEOMETRY or JSON column 'CORRECTION_PAYMENT' can't have a default value]

Решение - нужно создать эту таблицу "руками":

 
CREATE TABLE b_sale_cashbox_check_correction( ID int(11) unsigned not null auto_increment, 
CHECK_ID int(11) not null, CORRECTION_TYPE varchar(50) not null, 
DOCUMENT_NUMBER varchar(35) not null, DOCUMENT_DATE date not null, 
DESCRIPTION varchar(255) default '', CORRECTION_PAYMENT text, 
CORRECTION_VAT text, PRIMARY KEY (ID) ) 


Категории: Bitrix CMS

Частая проблема письма с сайта не доходят и не всегда понятно, проблема в сайте, хостинге, промежуточных сервисах или даже конечном ящике получателя. В данной заметке расскажу как можно проверить, что письма ушли из Битрикса.

Отправка писем, попадет в журнал событий Битрикса. Хранятся все события в таблице b_event, посмотреть значения можно через Настройки - Производительность - Таблицы (/bitrix/admin/perfmon_table.php?lang=ru&table_name=b_event)

pic1

Для событий отправки писем нужно смотреть на поле SUCCESS_EXEC Возможные статусы:

SUCCESS_EXEC = Y — сообщение отправлено.
SUCCESS_EXEC = N — не обработано событие (а значит не отправлено)
SUCCESS_EXEC = 0 — не найден шаблон (указан не верный шаблон)
SUCCESS_EXEC = F — надо смотреть логи отправки сервера или хостинга.

Основное на что стоит обратить внимание, что SUCCESS_EXEC = N не значит, что письмо вообще не оправлено, это текущий статус, и если отправка настроена на cron (по расписанию) или на хиты, то нужно подождать перед тем, как проверять статус!


Категории: Bitrix CMS
Пометки: Как посмотреть статус события Битрикс

Часто бывает нужно вывести в определенном месте содержимое какого-либо файла, require в случаи Битрикса это плохая идея, т.к. такие области нельзя будет редактировать через WYSIWYG-редактор.

Поэтому стоит использовать:

 
<?$APPLICATION->IncludeFile(SITE_DIR . "include/contacts.php", Array(), Array("MODE"=>"html"));?>


Категории: Bitrix CMS
Пометки: Битрикс includearea

Если, при заходе на определенную, например, тестовую страницу, нужно выдавать 404, то нам поможет такой код:

 
<?php

// Header
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

if (!defined("ERROR_404"))
   define("ERROR_404", "Y");

\CHTTP::setStatus("404 Not Found");
   
if ($APPLICATION->RestartWorkarea()) {
   require(\Bitrix\Main\Application::getDocumentRoot()."/404.php");
   die();
}

Файл 404.php должен быть в корне сайта.


Категории: Bitrix CMS
Пометки: Bitrix отобразить 404, Принудительный вызов 404 ошибки

Довольно обыденная задача - установка демоверсии магазина на Битриксе, например, на VPS. В целом все просто, но есть пара моментов.


Категории: Bitrix CMS

У Битрикса существует богатый каталог расширений, но поставить их можно только если активна лицензия.

Также стоит учитывать, если лицензии нет и CMS Bitrix не обновляется, то расширения могут не заработать на старых версиях php.

Именно так и получилось, при установке расширения "Долями".


Категории: Web, PHP, Bitrix CMS
Пометки: долями bitrix ручная установка модуля

Столкнулся с проблемой - при изменении настроек экспорта товаров в Битрикс (Магазин - Настройки - Экспорт данных), после нажатия на сохранить ничего не происходило, а в консоли красовалась ошибка:

 
Uncaught TypeError: BX.WindowManager.Get() is null <anonymous> /bitrix/admin/cat_export_setup.php?lang=ru&ACT_FILE=yandex&ACTION=EXPORT_EDIT&PROFILE_ID=1
cat_export_setup.php:45:18


Категории: Bitrix CMS
Пометки: bitrix формат хранения данных в таблице b_catalog_export, поле SETUP_VARS

Простой пример того, как можно получить хлебные крошки (навигационную цепочку) для категории в Bitrix.


Категории: Bitrix CMS

У категорий каталога Битрикс, во вкладке "Доп. поля", можно Добавить пользовательское свойство, но, как не странно, тут нет интерфейс для управления ими:

pic1


Категории: Bitrix CMS
Пометки: bitrix удалить "пользовательское поле", bitrix управление "Дополнительные поля"
Яндекс.Метрика