среда, 27 августа 2014 г.

Удивления новым ядром пост

Как выяснилось путем экспериментов (на bitrix 14.5.3) новое ядро D7 позволяет добавить в инфоблок элемент, без указания ИД инфоблока:

CModule::IncludeModule('iblock');
$r = \Bitrix\Iblock\ElementTable::add(array(
    'NAME' => 'new_login_100',
    'ACTIVE' => 'Y'
));
var_dump($r->isSuccess()); // true
var_dump($r->getErrorMessages()); // empty array


Результатом операции будет запись в b_iblock_element, у которой поле IBLOCK_ID будет равно 0.
Теперь можно прятать в b_iblock_element результаты неудавшихся экспериментов, и никто их не найдет, муохохохо. #SARCASM

суббота, 8 марта 2014 г.

пятница, 7 февраля 2014 г.

Кастомный тип свойства инфоблока

Привет, котаны! Сегодня я расскажу вам как запилить собственный тип для свойства для инфоблоков Битрикса.
Вообще, в битриксовых инфоблоках уже достаточно типов свойств - и числа, и строки, и привязки к пользователям, форумным темам и прочему. Но может случиться так, что потребуется совершенно иной тип свойства, ранее не поддерживаемый битриксом. Такой тип можно создать.
Например, может потребоваться привязать к каждому элементу инфоблока почтовый шаблон битрикса.

воскресенье, 19 января 2014 г.

Отложенные функции

В битриксе имеется функционал отложенных функций. В идеале он должен работать как: http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=3489.

Но у меня почему-то так заставить его работать не получается. В очередной раз пытаясь понять как мне вывести код до того, как отработает компонент, генерящий этот код, с подсказки коллеги обнаружил следующие обертки над функционалом отложенных функций:
1. CMain::ShowViewContent($view_name) - функция, выводящая контент, который будет сгенерирован позже.
2. SetViewTarget($view_name) - функция, начинающая буферизацию контента в область с именем $view_name.
3. EndViewTarget() - функция, завершающая буферизацию контента в область с именем $view_name, указанную предыдущим вызовом setViewTarget.

суббота, 19 октября 2013 г.

Memtiex - экспорт и импорт почтовых шаблонов bitrix

На текущем проекте приходится часто создавать новые почтовые события и шаблоны к ним.
Далее с локального сервера разработки их требуется перенести на dev, а потом и на prod. Ситуация с постоянным переносом вручную стала напрягать. Поэтому был придуман небольшой скриптик импорта/экспорта почтовых событий и шаблонов к этим событиям - memtiex.

Клонировать репозиторий можно из гитхаба: https://github.com/u-mulder/memtiex.git

Всяческие предложения, форки, пулл-реквесты одобряются, ибо делалось все в спешке (как всегда впрочем)))).

Кстати, если вы знаете подобные инструменты (может я зря велосипед изобретал) - пишите в комменты.

суббота, 2 февраля 2013 г.

Bitrix и urlrewrite

Недавно потребовалось в интернет-магазине на Битриксе отображать урлы с русскими буквами, например, /catalog/Коллекция_Collection-Name
Для этого пришлось подредактировать файл urlrewrite.php и добавить следующее правило:
"CONDITION" => "#^/catalog/([a-zA-Z0-9а-яёА-ЯЁ_\\-]+)$#",
"RULE" => "SECTION_CODE=$1",
"PATH" => "/store/collection.php",
Казалось бы, это все. Но нет. Так как сайт работал в кодировке utf-8, то Битрикс нагло игнорировал "узнавание" русских букв. Данная проблема (как и в большинстве случаев) решается установкой флага u. В итоге, правило приобретает такой вид:
"CONDITION" => "#^/catalog/([a-zA-Z0-9а-яёА-ЯЁ_\\-]+)$#u",
"RULE" => "SECTION_CODE=$1",
"PATH" => "/store/collection.php",
Теперь Битрикс работает как надо.

Еще немного трюков: