Тест
02.10.2009

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


Пример подключения движка XML/XSLT:

Сначала регистрируем движок:

global $arCustomTemplateEngines;
$arCustomTemplateEngines = array(
   "xslt" => array(
      "templateExt" => array("xsl"),
      "function" => "XSLTEngine"
   ),
);

Функция инициализации параметров движка:

function CreateXMLFromArray($xDoc, $xNode, $ar)
{
   foreach($ar as $key=>$val)
   {
      if(!is_string($key) || strlen($key)<=0)
         $key = "value";

      $xElement = $xDoc->createElement($key);
      if(is_array($val))
      {
         CreateXMLFromArray($xDoc, $xElement, $val);
      }
      else
      {
         $xElement->appendChild($xDoc->createTextNode(iconv( SITE_CHARSET, "utf-8", $val)));
      }
      $xNode->appendChild($xElement);
   }
   return $xNode;
}

Функция подключения движка:

function XSLTEngine($templateFile, $arResult, $arParams, $arLangMessages, $templateFolder, $parentTemplateFolder, $template)
{
   $arResult["PARAMS"] = array(
      "templateFolder" => $templateFolder,
      "parentTemplateFolder" => $parentTemplateFolder,
      "arParams" => $arParams,
      "arLangMessages" => $arLangMessages
   );

   $xDoc = new DOMDocument("1.0", SITE_CHARSET);
   $xRoot = $xDoc->createElement('result');
   CreateXMLFromArray($xDoc, $xRoot, $arResult);
   $xDoc->appendChild($xRoot);

   $xXsl = new DOMDocument();
   $xXsl->load( $_SERVER["DOCUMENT_ROOT"].$templateFile );

   $xProc = new XSLTProcessor;
   $xProc->importStyleSheet($xXsl);

   echo $xProc->transformToXML($xDoc);
}


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

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

(Нет голосов)

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

Новости магазина
       
Российские писатели вошли в список молодых литературных талантов США Самые популярные авторы Названы лучшие книги и издательства 2006 года Конкурс на лучшую рецензию

Элемент не найден

Lenta.ru : Новости

https://icdn.lenta.ru/images/2024/11/15/09/20241115090919661/pic_7f3bfd91f070f9399efaa62af12c3bb9.jpg

15.11.2024

Маслкар с украинскими номерами подожгли на парковке в российском городе


https://icdn.lenta.ru/images/2024/11/14/16/20241114162257537/pic_6e69f5893839723913323a4e4d957a17.jpg

15.11.2024

Мать оставила детей жить с разлагающимися останками их брата и сбежала


https://icdn.lenta.ru/images/2024/11/15/09/20241115090213520/pic_034da956591e5f4c5b479f0a47b21fde.jpg

15.11.2024

В США сообщили о встрече Илона Маска с иранскими чиновниками


https://icdn.lenta.ru/images/2024/11/14/14/20241114141308104/pic_f28b1750f94956dffe44199821d77b6f.jpg

15.11.2024

Растерявшей уважение к залезшему в огромные долги мужу жене дали совет


https://icdn.lenta.ru/images/2024/11/15/08/20241115085509164/pic_2b46ee04872b625f7287143fb4d6ec2b.jpg

15.11.2024

Названы российские регионы с самым доступным жильем


https://icdn.lenta.ru/images/2024/11/15/09/20241115091729288/pic_77591151ea3e611a460676a3f83003ce.jpg

15.11.2024

Главный тренер хоккейной «Лады» покинул пост


https://icdn.lenta.ru/images/2024/11/15/09/20241115091013605/pic_86dddd1eb9d7570be92ab0b8ce2a7541.jpg

15.11.2024

Военный ВСУ забыл свое местонахождение из-за пьянства


https://icdn.lenta.ru/images/2024/11/15/09/20241115091532738/pic_df41772ee436b035d5229e115664bfdf.jpg

15.11.2024

На Украине заявили об отступлении из сел южнее Курахово


https://icdn.lenta.ru/images/2024/11/15/09/20241115091143357/pic_84f3c7f570978d61580378d90f58cb7b.jpg

15.11.2024

В Турции оценили угрозу оттока туристов из России после отмены all inclusive в отелях


https://icdn.lenta.ru/images/2024/11/15/09/20241115090156204/pic_d000ca475850293386d1d83e2bbc0403.jpg

15.11.2024

Центробанк отозвал лицензию у Банка корпоративного финансирования


Библиотека на свежем воздухе
 1  2
 4 5  6
Тест