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


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

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

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

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

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

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


Страницы: Пред. 1 ... 5210 5211 5212 5213 5214 ... 5285 След.
0  
Zacherylom
Имя Цитировать 0  
0  
ThomasFaito
Looking for a sportsbook promo today? Join top platforms and redeem fast payout betting bonus instantly. This offer is limited, so act fast and boost your odds with ease.  https://www.imdb.com/list/ls599613106/  Deposit match betting bonus
Имя Цитировать 0  
0  
Thomasles
Exclusive betting bonus is here! Use it now and get your sportsbook reward instantly. No delay, just pure action — ideal for football and live betting lovers!  https://www.imdb.com/list/ls599614313/  Sports book bonus code
Имя Цитировать 0  
0  
CarlosGaw
pop over to these guys https://web-jaxxwallet.io
Имя Цитировать 0  
0  
CarlosGaw
Имя Цитировать 0  
0  
ThomasFaito
Play wisely with our betting reward deal. Whether you're into football, tennis, or live sports, this code gives you more value for every wager. Claim today and win more.  https://www.imdb.com/list/ls599612800/  Sign up for free betting money
Имя Цитировать 0  
0  
ManuelBoago
посетить веб-сайт Mega онион
Имя Цитировать 0  
0  
Zacherybeame
Имя Цитировать 0  
0  
PeterAmope
visit this website jaxx wallet
Имя Цитировать 0  
0  
PeterNup
hop over to here jax wallet
Имя Цитировать 0  
0  
Peterhax
click this link now jax wallet
Имя Цитировать 0  
0  
CarlosGaw
Имя Цитировать 0  
0  
PeterAmope
click here for more info jaxx liberty
Имя Цитировать 0  
0  
ManuelDal
Имя Цитировать 0  
0  
Zacherylom
Имя Цитировать 0  
0  
PeterAmope
moved here jaxx wallet
Имя Цитировать 0  
0  
Ignacioemica
Имя Цитировать 0  
0  
PeterAmope
official website jaxx wallet
Имя Цитировать 0  
0  
WilliamDoB
Цветы свежие уже 15 дней - это магия!  

букет пионов
Имя Цитировать 0  
0  
ZacheryWek
Имя Цитировать 0  
0  
CarlosKal
Имя Цитировать 0  
0  
ZacheryWek
Имя Цитировать 0  
0  
PeterAmope
more info here jaxx liberty
Имя Цитировать 0  
0  
Zacherybeame
Имя Цитировать 0  
0  
PeterAmope
click here to find out more jax wallet
Имя Цитировать 0  
Страницы: Пред. 1 ... 5210 5211 5212 5213 5214 ... 5285 След.
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

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