Авторизация
Логин:
Пароль:
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Подписка на рассылку
Реклама
11 лет сервису WMe.in.ua - WebMoney Exchange in Ukraine
Расскажи о нас


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

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 | След. | Конец

Количество показов: 88033461
Рейтинг:  3.3

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

(Голосов: 1, Рейтинг: 3.3)

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


Страницы: Пред. 1 ... 5047 5048 5049 5050 5051 ... 5284 След.
0  
Douglaswhall
Имя Цитировать 0  
0  
Garthdioge
Имя Цитировать 0  
0  
Michaelspeer
Имя Цитировать 0  
0  
GarthLem
Имя Цитировать 0  
0  
Garthdioge
Имя Цитировать 0  
0  
Douglasweids
Имя Цитировать 0  
0  
RobertLiz
Имя Цитировать 0  
0  
MichaelFougs
go to this site https://Putocrypes.com
Имя Цитировать 0  
0  
Felixpielf
Имя Цитировать 0  
0  
DouglasAsync
Имя Цитировать 0  
0  
MichaelHoope
Hey everyone! Looking for a way to make pool days even better? The <a href="https://thekingsom.com/>https://thekingsom.com/</a>; Bluetooth Pool Speaker is a game-changer. It delivers amazing sound, floats on water, and has cool flashing lights for extra fun. Completely waterproof and easy to connect, it’s perfect for pool parties, hot tubs, or the beach!
Имя Цитировать 0  
0  
Michaelspeer
check this site out https://Putocrypes.com
Имя Цитировать 0  
0  
GabrielRit
have a peek at these guys https://lombard.pw
Имя Цитировать 0  
0  
Felixheift
click this over here now https://alchemistai.lat/
Имя Цитировать 0  
0  
Roberttut
Имя Цитировать 0  
0  
MichaelCix
Имя Цитировать 0  
0  
GarthLem
Имя Цитировать 0  
0  
Michaelspeer
you can find out more https://FestivalMaskWorkshop.com/
Имя Цитировать 0  
0  
StephenSem
Имя Цитировать 0  
0  
StephenEcogy
Имя Цитировать 0  
0  
StephenEcogy
you can find out more https://asterdex.cc/
Имя Цитировать 0  
0  
GarthPiose
Имя Цитировать 0  
0  
Douglasweids
Имя Цитировать 0  
0  
MichaelFougs
Имя Цитировать 0  
0  
Felixpielf
Имя Цитировать 0  
Страницы: Пред. 1 ... 5047 5048 5049 5050 5051 ... 5284 След.
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

liqpay webmoney privat24 visa mastercard
2002-2017 © InKey
All rights reserved