Осень 2011 года — компания 1C Bitrix анонсировала Bitrix 11.0 . Из пресс-релиза, как я понял, ничего, такого капитального не предвидится (в 10-й тоже ничего не было). Система прирастает, только раскрученными в IT/бизнес медиа фишками — облачными технологиями, поддержкой мобильных устройств, оставаясь по прежнему на уровне начала 2000-ных. Да система Bitrix построена на тех «практиках» которые уже редко где можно найти работающими, в этом можно убедится просмотрев исходные коды.
Интерфейс с помощью которого происходит назначения правил применения шаблонов в системе Битрикс — к сожалению, не удачный. Шаблоны применяются согласно правилам, которые не как не вытекают из дизайна интерфейса. Описанию по работы с ним мало. Официальная документация лаконична, как энциклопедическая справка.
Основные проблемы.
Назначаются шаблоны различным ветвям структуры сайта, для тех кто не знает, в разделе «Редактирования сайта», который надо искать в Администрирование → Настройки. Назначение шаблонов в CMS Битрикс реализовано довольно таки топорно. Во первых явно учитывается иерархия в виде порядка сортировки. Во вторых учитывается иерархия файловой системы.
К примеру имеется такой фрагмент файловой структуры и задаем шаблоны с помощью типа условия «для папки и файла» (о типах условиях так же будет написано далее).
/folder1
/sub_folder1
/sub_folder2
Так если назначить какой либо шаблон для папки sub_folder1 c порядком сортировки 2, а /folder1 назначить другой шаблон иномер сортировки 1, то и у subfolder1 (да и subfolder2 и у всех остальных дочерних) будет тот же шаблон, что и у folder1 не смотря на то какой шаблон был им задан. Если порядок сортировки задать наоборот: sub_folder1 - 1, folder1 - 2. То тогда у каждой директории будут свои шаблоны.
Типы условия.
Одни из самых "ходовых" типов условий это:
- для папки и файла
- выражение PHP
preg_match("/\/yslygi_phis_licam\/(?:obmen_valyti|migom|denejnie_perevodi|bank_seif|priem_plateghei|internet_bank)\//i",$APPLICATION->GetCurDir())
Здесь уже можно использовать регулярные выражения. Почти как в кошерных Django или Ruby On Rails. [Вопрос про производительность такого решения лучше незадавать]
Таким образом, используя регулярные выражения, задаем правило назначения шаблона для адресов:
*/yslygi_phis_licam/obmen_valyti/*
*/yslygi_phis_licam/migom/*
*/yslygi_phis_licam/denejnie_perevodi/*
*/yslygi_phis_licam/bank_seif/*
*/yslygi_phis_licam/priem_plateghei/*
*/yslygi_phis_licam/internet_bank/*
И как следствие уменьшаем муки + повышаем производительность труда разработчика по сравнению с применением типа условия «для папки и файла».
П. С. Если появятся еще примеры использования типов условий, то я здесь так же их опубликую.
спасибо! помогло..
ОтветитьУдалить