Авторизация
Логин:
Пароль:
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Подписка на рассылку
Реклама
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 | След. | Конец

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

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

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

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


Страницы: Пред. 1 ... 860 861 862 863 864
0  
GeorgeKnisy
Reliable Crypto Exchange - Exchanged USDT for Ethereum at a very favorable rate, Helped solve the problem with the negative aml of bitcoin
Имя Цитировать 0  
0  
GeraldDwest
Имя Цитировать 0  
0  
GeorgeKnisy
Dark web Bitcoin Exchange for Pure usdt - I brought the euro from Russia to Germany through the exchange of usdt at a favorable rate, Helped solve the problem with the negative aml of bitcoin
Имя Цитировать 0  
0  
Jacobkew
http://www.jfair.ru — высокое качество и современный дизайн.
Имя Цитировать 0  
0  
GeraldBiz
Имя Цитировать 0  
0  
janasDuh
Serialexpress предлагает на DVD купить занимательные сериалы. Тут вы неповторимые диски отыщите. Приобретением вы точно останетесь довольны, потому как качество сериалов отменное. Товары отлично упакованы и в доступе по приемлемой стоимости. Ищете магазин сериалов в Москве? Serialexpress.ru - ресурс, где вы можете подробнее с информацией об оплате ознакомиться. У нас накопительная скидочная система действует. При появлении различных вопросов, смело звоните нам в любое время. Квалифицированные менеджеры на все вопросы грамотно и быстро ответят. Мы рады вам всегда!
Имя Цитировать 0  
0  
GeraldBiz
Имя Цитировать 0  
0  
Fopiwunasp
На сайте https://lemon-car.ru/ воспользуйтесь услугами высококлассного автосервиса, который предлагает огромный спектр услуг. Важным моментом является то, что все услуги оказываются строго по договору. На все работы даются гарантии, которые подтверждают то, что сотрудники уверены в своей компетентности. Прямо сейчас вы сможете ознакомиться с ценами на работы, а также сроками. Здесь получится заказать слесарный, кузовной ремонт, а также починить КПП и двигатель. Замена масла обойдется вам от 300 рублей. Обслуживается легковой, грузовой транспорт, автобусы, а также микроавтобусы.
Имя Цитировать 0  
Страницы: Пред. 1 ... 860 861 862 863 864
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

1QH.net - Unique Quality Hosting.network
liqpay webmoney privat24 visa mastercard
2002-2017 © InKey
All rights reserved