Променете местоположението на компонента в Bitrix, като използвате отложени функции
Нека разгледаме работата на отложените функции в Bitrix, използвайки примера за прехвърляне на компонент от едно място на шаблона на друго.
Методът, описан по-долу, се основава на технология за буфериране. Буферирането ни позволява да манипулираме данните, които php скриптовете формират за нас на страницата (например HTML код). Просто казано, случва се следното: преди сървърът да ни даде генерирания html код по наше искане, ние можем да използваме определени методи, за да променим местоположението на този код по даден начин, като го преместим над или под изходното местоположение.
Как и къде да го приложите?
Това е удобно за използване, когато не е възможно да промените дизайна на сайта чрез директно коригиране на оформлението и местоположението на извикването на компонентите. Често това се случва при използване на сложни компоненти, които заедно с изхода на определено съдържание извеждат допълнителни съдържащи компоненти.
Ето един често срещан пример за употреба.
Компонентът bitrix:catalog комплекс bitrix catalog показва интелигентен филтър над списъка с продукти. Много хора искат да променят този дизайн, като преместят интелигентния филтър в лявото меню, познато на потребителя (например). В същото време филтърният компонент трябва да запази логиката си на работа.
Правим го така:
включвайки интелигентния филтърен компонент
и на желаното място от изхода на шаблона - може да е над или под мястото на изхода на филтъра, вмъкнете:
Това е един от примерите за използване, по аналогия, можете да направите с всеки компонент или кодов фрагмент.