ПРОЕКТ «РАЗРАБОТКА И АПРОБАЦИЯ
МОДЕЛИ ПОЗНАВАТЕЛЬНОГО ТЕЛЕВИДЕНИЯ
КАК СРЕДСТВА НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ
ДЕТЕЙ И ВЗРОСЛЫХ»

Закрыть
Логин:
Пароль:
Забыли свой пароль?
  Войти      Регистрация

Пользовательские движки шаблонизации

06.03.2007

Пользовательские движки шаблонизации

Для добавления нового движка шаблонизации на сайт в файл /bitrix/php_interface/init.php необходимо добавить следующее:

1. Глобальную переменную $arCustomTemplateEngines, которая содержит ассоциативный массив, каждый элемент которого имеет вид:
   "код_шаблонизатора" => array(
      "templateExt" => array("расширение1"[, "расширение2"...]),
      "function" => "имя_функции_подключения_движка"
   )

где:
"код_шаблонизатора" - произвольное уникальное в рамках сайта слово;
"расширениеN" - расширение файла, который должен обрабатываться этим движком шаблонизации;
"имя_функции_подключения_движка" - имя функции, которая будет вызываться, если шаблон компонента имеет указанное расширение.

2. Функцию подключения движков:
     function имя_функции_подключения_движка($templateFile, $arResult, $arParams, $arLangMessages, $templateFolder, $parentTemplateFolder, $template),
где:
     $templateFile – путь к файлу шаблона относительно корня сайта,
     $arResult –
массив результатов работы компонента,
     $arParams – массив входных параметров компонента,
     $arLangMessages – массив языковых сообщений (переводов) шаблона,
     $templateFolder – путь к папке шаблона относительно корня сайта (если шаблон лежит не в
папке, то эта переменная пуста),
     $parentTemplateFolder - путь относительно корня сайта к папке шаблона комплексного
компонента, в составе которого подключается данный компонент (если компонент
подключается самостоятельно, то эта переменная пуста),
     $template – объект шаблона.

Рассмотрим подключение движков на конкретных примерах.


Страница 1 - 1 из 3
Начало | Пред. | 1 2 3 | След. | Конец Все


Количество показов: 3173

Возврат к списку


Материалы по теме:


MySQL Query Error: SELECT DISTINCT BE.ID as ID,BE.IBLOCK_ID as IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.PREVIEW_PICTURE as PREVIEW_PICTURE,L.DIR as LANG_DIR,BE.SORT as SORT,BE.CODE as CODE,BE.XML_ID as EXTERNAL_ID,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,B.CODE as IBLOCK_CODE,B.XML_ID as IBLOCK_EXTERNAL_ID,B.LID as LID FROM b_iblock B INNER JOIN b_lang L ON B.LID=L.LID INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID INNER JOIN b_iblock_property FP0 ON FP0.IBLOCK_ID = B.ID AND FP0.CODE='THEMES' INNER JOIN b_iblock_element_property FPV0 ON FPV0.IBLOCK_PROPERTY_ID = FP0.ID AND FPV0.IBLOCK_ELEMENT_ID = BE.ID WHERE 1=1 AND ( ((((BE.IBLOCK_ID = '2')))) AND (EXISTS ( SELECT IBLOCK_ID FROM b_iblock_site WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s1'))) )) AND ((((BE.ACTIVE='Y')))) AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL))) AND ((( BE.ID IS NULL OR NOT (BE.ID = '2')))) AND ((((FPV0.VALUE = '3')))) ) AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL))) AND (( B.ID IN ( SELECT IBLOCK_ID FROM b_iblock_group IBG WHERE IBG.GROUP_ID IN (2) AND IBG.PERMISSION >= 'R' AND (IBG.PERMISSION='X' OR B.ACTIVE='Y') ) OR (B.RIGHTS_MODE = 'E' AND EXISTS ( SELECT ER.ELEMENT_ID FROM b_iblock_element_right ER INNER JOIN b_iblock_right IBR ON IBR.ID = ER.RIGHT_ID INNER JOIN b_user_access UA ON UA.ACCESS_CODE = IBR.GROUP_CODE AND UA.USER_ID = 0 WHERE ER.ELEMENT_ID = BE.ID AND IBR.OP_EREAD = 'Y' )) )) ORDER BY BE.ACTIVE_FROM desc ,BE.SORT asc ,BE.ID desc LIMIT 5[Expression #1 of ORDER BY clause is not in SELECT list, references column 'tv_project.BE.ACTIVE_FROM' which is not in SELECT list; this is incompatible with DISTINCT]

DB query error.
Please try later.