Битрикс — изменить footer.php используя переменную из компонента

В этой статье вы узнаете как правильно задавать «глобальные переменные», используя api Битрикса.

Как в Битриксе вывести информацию в футере сайта используя компонент

Представим классическую ситуацию — вы разместили в footer.php вашего шаблона какой-то блок, который будет отображаться только на определенных страницах. При этом, этот блок не входит в код компонента (по какой-то причине 🙂 ).

Создаем в карточке товара (или в шаблоне новость детально) файл component_epilog.php, если он еще не создан.
А сейчас внимание, черный ящик говнокод:

Во-первых, давайте приучим себя, что в файлах нужно первой строкой писать:

А во-вторых, используйте глобальные переменные таким образом лишь в крайнем случае. Для каких-то целей они конечно пригодны, но тут мы будем использовать $APPLICATION->SetPageProperty :

Значение которое мы передали — Y.

Шаг 2. Переходим в footer.php вашего шаблона (а когда был первый шаг? 🙂 )
Пишем перед нашим блоком или компонентом, который мы будем выводить:

В этот раз мы использовали GetPageProperty. Второй параметр, как некоторые из вас догадались (почти никто 😉 ) это значение по умолчанию, то есть «N» можно использовать как «по умолчанию не отображать. С условиями я думаю вы разберетесь.

Что касается примера с глобальными переменными, то тут картина выглядела бы так:

Данный код протестировал, работает как первый так и второй вариант, но я вам советую использовать именно API bitrix, т.к. вы работаете именно в этой системе управления сайтом.

Надеюсь у вас всё получилось.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.com/dmitriy/.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *