Как создать включаемую область в 1с битрикс
Если в Битрикс вы хотите вставить дополнительные области, это можно сделать через редактор, но нужно знать и код. специально для любознательных. давайте разбираться.
Вставка включаемой области (это они так назвали), то есть дополнительная какая-либо включаемая область текста например.
Вставка дополнительного файла на странице:
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "file",
"PATH" => SITE_TEMPLATE_PATH."/include/company.php"
)
);?>
Тут мы видим, что подключается файл из папки include прямо на страницу. Вот такой вот незамысловатый код.
Функция подключения компонента
$APPLICATION->IncludeComponent(
componentName, // тут имя компонента
componentTemplate, // шаблон компонента, если "" то это означает пустая строка и шаблона подставляется с названием .default
arParams=array(), // параметры компонента
parentComponent=null,
arFunctionParams=array()
);
Включаемая область для раздела
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "sect",
"AREA_FILE_SUFFIX" => "inc",
"AREA_FILE_RECURSIVE" => "Y",
"EDIT_MODE" => "html",
"EDIT_TEMPLATE" => "" //
),
false
);?>
AREA_FILE_RECURSIVE — рекурсивное подключение (Y,N)
EDIT_MODE — режим редактирования (html, php)
EDIT_TEMPLATE — шаблон области по умолчанию, должен лежать в директории page_templates шаблона сайта
Включаемая область для страницы
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "page",
"AREA_FILE_SUFFIX" => "inc",
"EDIT_MODE" => "html",
"EDIT_TEMPLATE" => ""
),
false
);?>
Включаемый файл шаблона
Подключается file.php из шаблона
Цепочка навигации
<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"horizontal_multilevel",
array(
"ROOT_MENU_TYPE" => "left",
"MENU_CACHE_TYPE" => "N",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "N",
"ALLOW_MULTI_SELECT" => "N"
),
false
);?>
ROOT_MENU_TYPE — тип меню верхнего уровня
CHILD_MENU_TYPE — тип меню остальных уровней
MAX_LEVEL — максимальный уровень вложенности
Вертикальное меню
<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"vertical_multilevel",
array(
"ROOT_MENU_TYPE" => "left",
"MENU_CACHE_TYPE" => "N",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "N",
"ALLOW_MULTI_SELECT" => "N"
),
false
);?>
REGISTER_URL — путь к странице регистрации
PROFILE_URL — путь к странице профиля пользователя
Форма поиска
PAGE — путь к странице поиска
Список новостей
DISPLAY_DATE — показывать дату (Y,N)
DISPLAY_NAME — показывать название (Y,N)
DISPLAY_PICTURE — показывать картинку анонса (Y,N)
DISPLAY_PREVIEW_TEXT — показывать анонс (Y,N)
NEWS_COUNT — количество выводимых новостей
Новостная лента
<?$APPLICATION->IncludeComponent(
"bitrix:news.line",
"",
Array(
"IBLOCK_TYPE" => "news",
"IBLOCKS" => "",
"NEWS_COUNT" => "20",
"FIELD_CODE" => "",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"DETAIL_URL" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "300"
),
false
);?>
DETAIL_URL — путь к странице детального просмотра, по умолчанию берется из настроек инфоблока
NEWS_COUNT — количество выводимых новостей
Структура сайта такова: есть как огромное количество отдельных страниц расположенных просто в корне сайта, так и большое число разделов (папок со страницами).
Задача: повесить на все страницы сайта в шаблоне включаемую область, за исключением одной единственной страницы, расположенной в корне сайта.
В мой неокрепший мозг приходит единственный вариант использования двух одинаковых по содержанию включаемых областей , для всех страниц, расположенных в корне сайта (за исключением той для которой область показывать не нужно) задать эту включаемую область " для страницы " файлом " названиестраницы_inc .php ":
Правильно ли я мыслю или можно как-то иначе , без дополнительного дублирования области и множества разноименных файлов? Можно ещё вставить грязный костыль. Сделать одну включаемую область sect_inc.php в корне, а для той самой особенной страницы делать проверку по какому-нибудь флагу или вообще по url. Очень некрасиво, конечно, зато удобно Особенно, если много разделов и страниц в корне, а область везде одинаковая. Epic fail - сказать "это так просто" и не суметь сделать
Цитата |
---|
Евгений Бескровный пишет: Задача: повесить на все страницы сайта в шаблоне включаемую область, за исключением одной единственной страницы, расположенной в корне сайта. |
Ясно, спасибо. У кого еще какие идеи? Может из самого битрикса кто-нибудь заглянет сюда
Плодить шаблоны из за одной включаемой, имхо извращение еще то
Ольга , а можно поконкретнее, как именно это можно осуществить, примерчик бы кодика
И почему Вы это считаете некрасивым костылем? Ведь как я понял других (менее затратных) способов,кроме того, который привел я ведь нет? И кстати, если во всем следовать идеологии построения шаблона битрикса, то мой вариант самый "правильный" ?
Цитата |
---|
Евгений Бескровный пишет: Задача: повесить на все страницы сайта в шаблоне включаемую область, за исключением одной единственной страницы, расположенной в корне сайта. |
Цитата |
---|
Евгений Бескровный пишет: И кстати, если во всем следовать идеологии построения шаблона битрикса, то мой вариант самый "правильный" |
Цитата |
---|
Евгений Жуков пишет: в приведенном Вами коде как раз нет определения, какую область показывать. |
Позвольте, позвольте, тезка, как же это нет определения какую показывать?) перечитайте мою монстроподобную идею еще разок, Вы кажется не все поняли, мой вариант вполне рабочий, если все файлы раскидать куда надо, и определить эти две включаемые области в шаблоне и выставить им соответствующие настройки. Просто файла ведь для той страницы на которой показывать не нужно не будет, а включаемая область для раздела не покажется, потому что файлы включаемой области для разделов будут в папках разделов, а в корне этого файла не будет
А за кодик спасибо, теперь буду знать
А про правильность, я просто хочу для себя выяснить, как же всетаки правильно осуществить такую возможность. Ведь должен же быть правильный способ (как бы это сделали сами разработчики битрикса) и много разных вариаций как его так и просто костылей.
Цитата |
---|
Попов Кирилл пишет: <?php if(!CSite::InDir("/test/")):?> а тут включаемая область которая не покажется только в папке "/test/" <?endif;?> |
Цитата |
---|
Евгений Бескровный пишет: Позвольте, позвольте, тезка, как же это нет определения какую показывать?) перечитайте мою монстроподобную идею еще разок |
Цитата |
---|
Евгений Бескровный пишет: для всех страниц, расположенных в корне сайта (за исключением той для которой область показывать не нужно) |
Цитата |
---|
Евгений Бескровный пишет: "названиестраницы_inc.php" |
В случае, когда у Вас условие "показывать всем, кроме" либо "показывать всем одно, а одной - другое", ну $APPLICATION->GetCurPage() Вам в помощь. Получаете адрес текущей страницы, сравниваете с условием, дальше выводите/не выводите то, что требуется. Не надо сверлить зубы через задний проход дрелью от Сваровски
Цитата |
---|
Евгений Жуков пишет: Если так, уж простите, на язык просится цитата из известного анекдота - "поручик был большой забавник". Зачем Вы этакую свинью подкладываете девочке - контент-менеджеру? Для каждой новой страницы создай включаемую область, скопируй из уже имеющейся код, при удалении страницы не забудь удалить включаемую область? А если в корне будет хотя бы 2-3 десятка страниц? Это сколько лишней работы? |
Евгений, видимо Вы не до конца разобрались с работой включаемых областей в битриксе. Не печальтесь, я тоже многого не понимал причем очень долго
В данном случае совсем не нужно для каждой страницы создавать в коде шаблона включаемую область, как я и отметил в самом начальном своем посте. Достаточно определить в коде шаблона, вызов всего лишь двух включаемых областей, одну " для страницы ", вторую " для раздела ".
Та которая " для страницы " будет отображать включаемые области заданные для каждой страницы по шаблону названиестраницы_inc .php (если они есть), т.е. в настройках этой первой включаемой области мы выбираем " для страницы " и ставим индекс inc , т.е. если для страницы test .php есть одноименный файл включаемой области test_inc .php , то включаемая область на странице test .php отобразится, а если такого файла не будет - то нет. Я что-то не пойму, откуда Вы взяли то, что в коде шаблона нужно указывать для каждой отдельной страницы вызов включаемой области? Бедной девочке контент-менеджеру не нужно будет ничего копировать и создавать, будет много гемороя у програмиста, просто копировать дополнительно файл включаемой области для каждой страницы в корне сайта.
Да и пример этот я привел, просто для того, чтобы понять, как делать ПРАВИЛЬНО с точки зрения разработчиков БУС а.
Все что я узнал (даже не из курсов, потому что в курсах я не нашел нормального объяснения работе с включаемыми областями), о работе с включаемыми областями и позволило мне описать этот способ.
Я просто хочу докопаться до истины. Как же всетаки правильно "по-битриксовски" что-ли поступить в таком случае.
Epic fail - сказать "это так просто" и не суметь сделатьО святой Антоний и вся кротость его!
Цитата |
---|
Евгений Бескровный пишет: Я что-то не пойму, откуда Вы взяли то, что в коде шаблона нужно указывать для каждой отдельной страницы вызов включаемой области? |
Цитата |
---|
Евгений Жуков пишет: Или Вы собрались для КАЖДОЙ страницы, лежащей в корне, создавать файлик |
Цитата |
---|
Евгений Бескровный пишет: Та которая "для страницы" будет отображать включаемые области заданные для каждой страницы по шаблону названиестраницы_inc.php(если они есть), т.е. в настройках этой первой включаемой области мы выбираем "для страницы" и ставим индекс inc, т.е. если для страницы test.php есть одноименный файл включаемой области test_inc.php, то включаемая область на странице test.php отобразится, а если такого файла не будет - то нет. |
Цитата |
---|
Евгений Бескровный пишет: се что я узнал (даже не из курсов, потому что в курсах я не нашел нормального объяснения работе с включаемыми областями), о работе с включаемыми областями и позволило мне описать этот способ. |
Извините, Евгений, значит я неправильно понял что вы имели ввиду под "Для каждой новой страницы создай включаемую область, скопируй из уже имеющейся код".
Мой способ говорит, о том, как бы понял это простой пользователь не программист (я не программист, а верстальщик, немного разные понятия). И я понимаю что трудозатраты очень велики.
Простоя пытаюсь понять, почему вообще разработчики битрикса так реализовали этот механизм включаемых областей, не продумав такой случай задания этой области с исключением в одну страницу или просто я что-то упустил
А в курсе по интеграции про работу с включаемыми областями сказано очень мало и согласитесь понять простому смертному тот бред сразу довольно сложновато Я не говорю уже про объяснение работы с шаблонами включаемых областей, кои у меня так и не заработали, наверное руки кривоваты
Epic fail - сказать "это так просто" и не суметь сделать Они просто старались дать универсальный механизм, вот и все. Задача исключений зачастую может быть реализована другими срествами. Не надо сверлить зубы через задний проход дрелью от СваровскиЦитата |
---|
Евгений Бескровный пишет: Задача: повесить на все страницы сайта в шаблоне включаемую область, за исключением одной единственной страницы, расположенной в корне сайта. |
Предположительно, для Вашей задачи вёрстки, когда одна страница по структуре выбивается из общего ряда, нужно всего два шаблона и не нужно совсем включаемых областей.
Поэтому, согласен с Евгением Жуковым, его Первым вариантом:
Цитата |
---|
Евгений Жуков: Самый тупой (в лоб) вариант - два шаблона. |
1. Наглядность и прозрачность (просто, дёшево, надёжно и практично). Ясно для чего сделан каждый шаблон, т.к. есть условия их применения. Если удалите страницы, то отключите и шаблон, без изменений в других шаблонах других страниц.
2. Масштабируемость. Хоть в условии и сказано, что страница одна, но идеология от количества страниц не зависит, что верно для нескольких страниц, то и для одной (одна – это частный случай нескольких).
Второй вариант: использовать один шаблон на все страницы, но так исхитрится с вёрсткой шаблона, чтобы сделать только одну включаемую область для той страницы, которая выбивается из общего ряда.
Третий вариант: использовать один шаблон на все страницы, но так исхитрится с CSS файлом и вёрсткой шаблона, чтобы отключить показ ненужного блока на той странице, которая выбивается из общего ряда.
Спасибо, Алексей, у меня в этой включаемой, которую нужно было показывать на всех страницах кроме одной, было немного незамысловатого html кода, вышел из положения просто использованием проверки на соответствие адреса апи функцией $APPLICATION->GetCurPage() по совету Евгения.насчет преимуществ, меня в использовании нескольких шаблонов смущает одна вещь, как идеологически правильно добиться универсальности на уровне шаблонов компонентов и CSS? Я имею ввиду чтобы на все шаблоны был как один CSS файл, так и одни и те же шаблоны компонентов.
Моя версия - одинаковые для всех шаблонов, шаблоны компонентов выкладывать в шаблон .default (сам не пробовал но говорят будут доступны для всех шаблонов), а CSS файл подключать откуда-то из общей папки обыкновенным тегом link.
Насчет CSS я не уверен, может быть есть способ как-то по-другому подключить один файл для всех шаблонов?
Epic fail - сказать "это так просто" и не суметь сделать Если у Вас один и тот же шаблон компонента используется в нескольких шаблонах сайтов, то да, его надо помещать в шаблон .default - так придумано разработчиками БУС. А вот css у каждого шаблона свой. Я так понимаю, Вы не хотите каждый раз копировать css-файл шаблона сайта после внесения изменений? Ну, тогда есть вариант $APPLICATION->SetAdditionalCss('абсолютный путь к файлу'), хотя это будет идеологически неверно. Не надо сверлить зубы через задний проход дрелью от СваровскиПонятно, спасибо Евгений.
Значит полюбому у шаблона сайта должны быть два CSS файла и их вызов никак не удалить, чтобы не грузились зря, если один общий использовать?
Epic fail - сказать "это так просто" и не суметь сделать Не надо сверлить зубы через задний проход дрелью от СваровскиЦитата |
---|
Евгений Бескровный пишет: Значит полюбому у шаблона сайта должны быть два CSS файла и их вызов никак не удалить, чтобы не грузились зря, если один общий использовать? |
Думаю, что будет хорошо, если в этих файлах хоть что-то будет, пусть и минимум.
Например, в CSS файле, относящемся к шаблону, общая основная разметка страницы на блоки и их позиционирование, выравнивание этих блоков относительно друг друга, их ширина, отступы, цвет фона, картинки фона, т.е. то, что неизменно до момента полного редизайна сайта или раздела сайта и не относится к контенту. И шрифты по умолчанию для страниц (для абзацев, заголовков). Скажем, шаблон двухколоночной вёрстки страницы или шаблон трёхколоночной. Но, конкретных шрифтов и форматирования конкретных участков содержимого контента там не указывать, только общие по умолчанию.
А, во втором CSS файле, относящемся к шаблону, только минимум, самые крохи, общего для страниц форматирования контента, который может понадобится контент-редакторам сайта, чтобы им самим не нужно было лезть в файл CSS и писать там классы форматирования.
Тогда, эти два файла CSS шаблона удалять не потребуется и пользу принесут какую-то.
Спасибо, теперь все ясно.
А на счет замены css файлов, как Вы эту проблему решаете? Простой подгрузкой дополнительных файлов?
Epic fail - сказать "это так просто" и не суметь сделать Ну, лично у меня тестовый сервак ничего не кеширует (я про статику). А когда все уже закончено - это уже не важно.На крайний случай иду и выношу кеш браузера - вот и все. Не надо сверлить зубы через задний проход дрелью от Сваровски
Цитата |
---|
Евгений Бескровный пишет: А на счет замены css файлов, как Вы эту проблему решаете? Простой подгрузкой дополнительных файлов? |
Подгрузку дополнительных файлов не использую.
Если в шаблон нужно вставить компонент, то стараюсь окружить каждый компонент или несколько однотипных компонентов его (их) личным блоком с идентификатором. Это даёт возможность сослаться на идентификатор блока в основном файле CSS шаблона и задать основное форматирование содержимого блока и ссылку на url картинки фона (сама картинка может быть одна для нескольких шаблонов и лежать в отдельной общей директории на которую ссылаются CSS шаблонов, иметь абсолютную адресацию, если нужно избежать дублирование изображений). Форматирование такого блока определяет и форматирование вывода содержимого компонента (например, шрифтом родительского блока, особенно, если указать не фиксированный, а относительный для гибкости), т.к. компонент получается, что вложен. И, упрощается, на мой взгляд, применение каскада при каскадном форматировании содержимого блока или компонента, через те самые правила CSS.
А, шаблон самого компонента стараюсь не трогать, т.е. использовать тот, что по умолчанию, он как бы остаётся в резерве, до него, поначалу, вообще может и дело не дойти, если стандартный более-менее устраивает в целом. Всегда можно, потом, когда-нибудь доработать, если что-то не так выглядит и будут нарекания.
Так получается, что подгрузка происходит сама, через подгрузку CSS шаблона (содержит идентификаторы для блоков компонентов и их форматирование, насколько возможно через идентификаторы) и CSS компонентов (стандартные по максимуму).
И, если этот шаблон нужно использовать для других страниц (или доработать), но он немного не подходит, его можно скопировать, удалить и из шаблона и из CSS шаблона ненужные блоки по идентификаторам, а каркас останется как заготовка с нужными идентификаторами и их форматированием.
Цитатник веб-разработчиков В тексте курса вы встретите цитаты, высказанные в разное время разработчиками системы и разработчиками проектов на базе Bitrix Framework. Надеемся, что такие неформальные замечания внесут некоторое разнообразие в процесс изучения. Заодно опытные специалисты поделятся и своим опытом.
Имена авторов цитат даются в том написании, в каком авторы зарегистрировали себя на сайте "1С-Битрикс". .
Курс для разработчиков - продолжение линейки учебных курсов по Bitrix Framework. Получение сертификата по курсу рекомендуется после успешной сдачи тестов по всей линейке курсов, так как без понятия о работе Контент-менеджера и Администратора создание успешных сайтов будет затруднено.
Чтобы научиться программировать в Bitrix Framework, нет необходимости изучать всю линейку курсов. Но есть моменты, которые необходимо знать разработчикам о системе, они раскрыты в начальных курсах:
- Интерфейс программы - в главе Элементы управления курса Контент-менеджер.
- Компоненты 2.0 (начальные сведения) в главе Компоненты 2.0 (начальные сведения) курса Контент-менеджер.
- Информационные блоки - в главе Информационные блоки (начальные сведения) курса Контент-менеджер.
- Управление доступом к файлам, элементам контента, модулям и другие права доступа в главе Управление доступом курса Администратор. Базовый.
- Работа с инструментами системы - в главе Работа с инструментами курса Администратор. Базовый.
- Модуль Поиск - в главе Поиск курса Администратор. Базовый.
- Вся информация по администрированию модулей размещена в курсах:
-
- модули "1С-Битрикс: Управление сайтом" - модули "1С-Битрикс: Управление сайтом", связанные с коммерческой деятельностью в Интернете. - модули "1С-Битрикс: Корпоративный портал"
Как построен курс
Общепринятая градация квалификации разработчиков в рамках курса обозначает что:
- Junior сможет создавать простые сайты работая со штатными компонентами и модифицируя их шаблоны.
- Middle разработчик может работать с API Bitrix Framework.
- Senior умеет работать над производительностью и безопасностью сайтов, создавать свои модули и компоненты.
Начальные требования к подготовке
Для успешного изучения курса и овладения мастерством разработки сайтов на Bitrix Framework необходимо владеть (хотя бы на начальном уровне):
- основами PHP, баз данных;
- основами HTML, CSS.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Комментарии к статьям
Что дальше?
Одновременно с изучением курса Разработчик Bitrix Framework вам придётся обращаться к информации о других технологиях Bitrix Framework. Эта информация размещена в следующих курсах:
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 5 дней (40 академических часов).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса.
Включаемая область - это специально выделенная область на странице сайта, которую можно редактировать отдельно от основного содержания страницы. Реализуется с помощью специального программного компонента.
Зачем нужна включаемая область
Для того, что бы разобраться в каких целях применяется включаемая область, рассмотрим в первую очередь, что это такое.
Включаемая область это стандартный компонент самого битрикса, у которого основной функционал подключить статический файл с определенными параметрами доступа.
Сама фишка включаемой области в том, что она предоставляет возможность администратору редактировать информацию этой области из визуальной части сайта, без привлечения разработчиков.
Благодаря включаемой области, которую можем разместить как на страничке, так и встроить в шаблон сайта,мы можем на сайт внедрять различную информацию как статическую, так и динамическую, подробнее о том, что такое статическая и динамическая информация смотрите в предыдущих уроках.
Включаемую область, как правило, используют для вывода, (например, название и телефоны компании, логотип организации, информацию об авторских правах и т.д.), то есть все то, что возможно в дальнейшем будет редактироваться администратором самостоятельно.
Управление включаемыми областями
Вставим на тестовой страничке включаемую область, для этого откроем ее на редактирование, в компонентах откроем служебное, включаемые области, и перетащим компонент в форму редактирования.
Появилась форма с параметрами компонента, и давайте пробежимся по ее настройкам:
Вернем наши настройки в исходные параметры страницы и сохранимся.
Для того что бы отобразилась у нас включаемая область включим режим правки.
Появилась такая иконка символизирующая что тут она присутствует.
Наводим на иконку и жмем «Добавить в область». Появилась форма редактирование, на данный момент система показывает путь к файлу находится по данной директории /test/index_inc.php, на самом деле сейчас подключаемы файл там не присутствует и появится только после сохранения данной формы.
Для примера вставим компонент Случайно фото, и настроим на вывод из инфоблока новостей. Сохранимся, в разделе test появился файл index_inc.php с компонентом случайное фото.
Установка включаемой области в шаблон сайта
Для того что бы показать как включаемая область работает для «разделов» и подключается «из файла», давайте встроим ее в шаблон сайта, в правый сайтбар.
Открываем компонент на редактирование, и меняем параметр «Показывать включаемую область» из файла. Прописываем путь к нашему файлу который будет выводиться включаемой областью/include/company_news.php, сохранимся.
Код вырезаем в буфер обмена, откроем наш шаблон на редактирование и вставим его в область самого начала в левого сайтбара, сохранимся.
Пробуем переходить по разделам, видим, что область присутствует на каждой страничке сайта.
Подключение включаемой области для раздела
Для примера отобразим включаемую область только в определенном разделе. Для этого перейдем в раздел, где хотим ее выводить «О магазине», откроем настройки компонента, выбираем, показывать для разделов, у нас появился дополнительный чекбокс, при отмеченной опции «включаемая область будет подключаться рекурсивно», то есть, до корня сайта проверяться все разделы до верхнего уровня, и выводится первая встретившаяся включаемая область на страничке, мы сохраняемся и смотрим что получилось.
Сейчас исчез компонент случайно фото и это не удивительно, так как мы подключили другой файл, который называется sect_inc.php и располагается в корне раздела. Добавляем в область наш компонент случайное фото, сохраняемся. Теперь все вложенные разделы, унаследовали данный компонент и отображают его на страничке в визуальной части сайта.
Для того что бы назначить включаемую область только для определенного раздела Контакты, достаточно просто скопировать фал sect_inc.php из раздела «О магазине» в раздел «Контакты», мы его удаляем. Переходим в визуальную часть сайта и проверяем отображение.
Как видите, включаемая область отображается только в разделе Контакты.
Применения использования включаемых областей множества, от разработки сайта и вынесения в его структуру определенных блоков в верстку, до простых задач, где требуется показать элемент на определенной страничке, а на другой его заменить или скрыть. Это все можно реализовать при помощи подключение компонента «включаемая область».
Получилось видео немного ужато, много информации которое возможно сразу не осознаете, по этому в низу есть комментарии, пишите свои вопросы, а я по возможности на них буду отвечать.
Читайте также: