|
0 Всего найдено: 2
yogas
Сообщение
10/07/2011 05:04
Копия темы
Включаемые области Битрикс Всем привет! При разработке проектов на Битриксе многие сталкивались с компонентом "Включаемая область". Казалось бы включаемая область это просто вставка в определенное место (например в страницу или шаблон) дополнительного php файла, но он не так прост как кажется на первый взгляд. Я имею ввиду его полезность. Рассмотрим 3 задачи: 1) Необходимо в шаблоне сайт реализовать редактируемый footer. Здесь нас выручает включаемая область для файла: // Включаемая область для файла $APPLICATION->IncludeComponent( "bitrix:main.include", ".default", Array( "AREA_FILE_SHOW" => "file", // указывается что подключаем файл "PATH" => "/inc/footer.php", // путь к файлу включаемой область "EDIT_TEMPLATE" => "" // шаблон компонента (за все время работы с Битриксом так и не пользовался этим параметром) ) ); Все очень просто в параметре "PATH" указывается путь к файлу в котором в нашем случае будет footer. Теперь контент-менеджер сможет легко редактировать копирайты, телефоны и остальную информацию размещенную в футере. 2) Представим что у нас есть шаблон сайта в левой части которого должны выводятся новости компании. Еще представим что наш сайт состоит всего из 3х страниц (page1.php, page2.php, page3.php). На каждой из страниц описание одного из 3х филиалов компании. Как реализовать вывод новостей в одном шаблоне для разных страниц? Конечно нам на поможет включаемая область для страницы. // Включаемая область страницы $APPLICATION->IncludeComponent( "bitrix:main.include", ".default", Array( "AREA_FILE_SHOW" => "page", // указываем, что подключаем файл для страницы "AREA_FILE_SUFFIX" => "inc", // суффикс подключаемых файлов для страницы "EDIT_TEMPLATE" => "" ), false ); Этот код мы поместим в шаблон сайта на то место где должны выводиться новости. Тогда для страницы page1.php нужно создать файл inc_page1.php в котором будет компонент вывода новостей для 1го филиала. Для page2.php inc_page2.php, а для page3.php inc_page3.php В самом начале изучения Битрикса, я грешил тем, что в шаблоне проверял на какой странице я нахожусь и в зависимости от этого подключал нужный компонент. Как видим есть более простой способ, которым я и пользуюсь. 3) Задача аналогичная. Есть один шаблон. Но для разных разделов сайта нужно выводить разные компоненты. Например для раздела Автомобили (avto) и его подразделов нужно выводить статьи и новости связанные с автомобилями статьи, для раздела Недвижимость (realty) и его подразделов нужно выводить новости недвижимости и объявления по недвижимости. Конечно можно было сделать разные шаблоны для каждого раздела и успокоиться на этом. Но это не красивый выход из ситуации. Как всегда нас спасет включаемая область для раздела! // Включаемая область для раздела $APPLICATION->IncludeComponent( "bitrix:main.include", "", Array( "AREA_FILE_SHOW" => "sect", // указываем, что подключаем файл для раздела "AREA_FILE_SUFFIX" => "inc", // суффикс подключаемых файлов для раздела "AREA_FILE_RECURSIVE" => "Y", // рекурсивное подключение областей для разделов "EDIT_TEMPLATE" => "" ), false ); Подсказка Битрикса по параметру: AREA_FILE_RECURSIVE При установленном флаге включаемые области разделов будут подключаться рекурсивно, т.е. если в папке более низкого уровня есть своя включаемая область, то она будет показана. Если текущий раздел не имеет своей включаемой области, то рекурсивно до корня сайта будут проверяться все разделы до самого верхнего и будет выведена первая встретившаяся включаемая область. На этом все. Спасибо за внимание. Надеюсь статья вам пригодится и вы не наступите на те же грабли что я в свое время)
slammie
Сообщение
19/03/2013 10:35
Копия темы
0
Во втором пункте вы даёте имена файлов с префиксом, а не суффиксом. Не будет срабатывать. |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |