Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
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

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"