пятница, 31 октября 2014 г.

Дополнительные страницы каталога в комплексном компоненте

Однажды на проекте возникла задача следующего характера:
для детальных страниц товара требовались несколько вариантов отображения контента, например, у нас есть страница товара с вкладками - Описание, Характеристики, Отзывы по урлу /catalog/product_id.htm.
Изначально открыта вкладка "Описание" (дефолтная).

Требуется на клик по вкладкам  описание, характеристика, отзывы переходить на страницы с урлами:
/catalog/product_id.htm - дефолтная вкладка
/catalog/product_id/params- открыта вкладка "Характеристики"
/catalog/product_id/reviews - открыта вкладка "Отзывы"

Уточняю, это именно разные страницы (например, со своими SEO-тегами), никакой подгрузки аяксом, HistoryAPI и прочего.

Решение следующее:

среда, 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

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

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