Авторизация
Логин:
Пароль:
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Подписка на рассылку
Реклама
1QH.net - Unique Quality Hosting.network
Расскажи о нас


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

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

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

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

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

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


Страницы: Пред. 1 ... 4727 4728 4729 4730 4731 ... 4738 След.
0  
Jacquestix
проверить сайт Программирование игр
Имя Цитировать 0  
0  
Jacquesweike
Имя Цитировать 0  
0  
KevenElurf
Следующая страница Программирование
Имя Цитировать 0  
0  
Jacquesweike
??????? ?? ???? ?????????? ???
Имя Цитировать 0  
0  
JacquesNeath
Имя Цитировать 0  
0  
Kevenabige
Имя Цитировать 0  
0  
Jacquesweike
??????? ?? ???? ???????? ???
Имя Цитировать 0  
0  
JacquesApabs
в этом разделе Создание игр
Имя Цитировать 0  
0  
Jacquesweike
???????? ???-???? 3D-?????? ?????? ????
Имя Цитировать 0  
0  
Jacquesweike
????????? ????? ?????????? 3D ???
Имя Цитировать 0  
0  
Jacquesweike
содержание Конструкторы игр
Имя Цитировать 0  
0  
Jacquestix
???????? ??????? ???????? ???
Имя Цитировать 0  
0  
Jacquesweike
подробнее GameDev Unreal Engine
Имя Цитировать 0  
0  
Jacquesweike
этот контент Разработка 3D игр
Имя Цитировать 0  
0  
JacquesApabs
Имя Цитировать 0  
0  
StanleySet
Hey there! If you're looking for some fun, active gear, <a href="https://theaodi.com/"https://theaodi.com/</a> has you covered with a variety of products perfect for everyone. From the Aodi Swing Wiggle Scooter, which offers a fun ride for all ages and supports up to 100 kg, to the Lightweight Reversible Baby Stroller, designed for comfort and convenience on the go. For home workouts, the Aodi Under Desk Elliptical Machine is a great way to stay active even while working.
Имя Цитировать 0  
0  
JacquesApabs
Смотреть здесь GameDev Unreal Engine
Имя Цитировать 0  
0  
Jacquestix
содержание Создание игр
Имя Цитировать 0  
0  
Jacquestix
Имя Цитировать 0  
0  
Jacquesweike
смотреть здесь Конструкторы игр
Имя Цитировать 0  
0  
Jacquesweike
опубликовано здесь Создание игр
Имя Цитировать 0  
0  
Jacquesweike
??????? ?? ???? 3D-?????? ?????? ????
Имя Цитировать 0  
0  
Jacquesweike
??????? ???????? ???
Имя Цитировать 0  
0  
JacquesNeath
в этом разделе Игровые движки
Имя Цитировать 0  
0  
Jacquestix
Имя Цитировать 0  
Страницы: Пред. 1 ... 4727 4728 4729 4730 4731 ... 4738 След.
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

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