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


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

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

Количество показов: 45954967

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

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

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


Страницы: Пред. 1 ... 265 266 267 268 269
0  
apk_Saurf
Мобильные игры в последнее время становятся всё более интересными. Каждый день недели появляются новые проекты, которые удивляют пользователей со всего планеты. В этой статье мы расскажем о актуальных новостях из мира мобильных игр и новостях игровой индустрии.
Недавно компания Google представила последнюю версию iOS, которая добавила ряд улучшений для любителей игр. В частности, теперь доступны улучшенные визуальные режимы, что улучшает время в игре ещё приятным.
Одной из самых ожидаемых игр ближайшего времени является перезапуск Genshin Impact. Создатели подготовили огромное количество новых уровней, а также обновили визуальные эффекты и внедрили уникальные опции.
Важным событием в игровой индустрии стало анонс проекта от компании Tencent. Титул проекта пока держится в секрете, но утечки сообщают, что это будет уникальный стратегия с онлайн-режимом.
Для фанатов мобильных стратегий есть отличная новость - в этом месяце выйдет долгожданное дополнение для Clash of Clans. В новой версии создатели добавили новые здания, а также добавили уникальные механики.
Сфера мобильных игр постоянно развивается, и каждый месяц нас радуют новые релизы. Следите за нашей страницей, чтобы не пропустить о самых интересных играх и новостях индустрии.
Кроме того, не забудьте следить за нашей страницей в https://ok.ru/group/70000006632560/topic/157472786496368, чтобы знать самые свежие новинки из мира гейминга.
На сегодня это все известия из мира игровой индустрии. Увидимся скоро и удачных игровых сессий!

http://fe2o3.ru/android/v-google-play-mojno-besplatno-skachat-novyu-versiu-shytera-s-grafikoi-kak-v-realnoi-jizni.html
https://rugames-online.ru/category/android/
http://free-minigames.com/page/top-5-luchshih-gonok-dlja-android
http://mskit.ru/news/n141888/
https://mirovoyinstrument.ru/tor/huawei-p10-lite-rukovodstvo-po-ekspluatacii/

Невероятно! Эти игровые открытия изменят мир!
Сенсация! Эти события в мире игр вызвали бурю эмоций!
Вау! Эти игровые открытия потрясли игровое сообщество!
1adca11
Имя Цитировать 0  
0  
KennethrEf
Имя Цитировать 0  
0  
KurtisSoymn
Имя Цитировать 0  
0  
Larryanedo
Online medicine home delivery: Online medicine home delivery - top online pharmacy india
Имя Цитировать 0  
0  
LouisCrace
Drug details provided. Latest drug developments.
ed pills online
Comprehensive pill resource. Medicine facts here.
Имя Цитировать 0  
0  
MomaczoCak
На сайте http://sator.ru получите консультацию для того, чтобы воспользоваться инженерным консалтингом. Также в компании можно воспользоваться и такой услугой, как акустическое моделирование, проектирование. Прямо сейчас специально для вас высококлассные и лучшие сотрудники подсчитают цену звукоизоляции под определенные требования. Вы гарантированно защититесь от шума, а также вибраций. В работе применяется исключительно сертифицированная и безопасная продукция. Сервис, материалы на высшем уровне.
Имя Цитировать 0  
0  
KevinMaype
Имя Цитировать 0  
0  
Williammon
canadian pharmacy no prescription viagra without prescription
Имя Цитировать 0  
0  
Williammon
usa pharmacy no script www.mednowca.com
Имя Цитировать 0  
0  
Jefferynen
mexico pharmacies prescription drugs: MexicanPharmGate - mexican border pharmacies shipping to usa
Имя Цитировать 0  
0  
LouisSWIGN
Medication pamphlet available. Latest medication updates.
ed meds
Get information instantly. Latest pill developments.
Имя Цитировать 0  
0  
Williammon
online pharmacy no prescription cialis 20mg price at walmart
Имя Цитировать 0  
0  
AntikKargo
Для тех, кого интересует карго Турция Россия цена за кг, AntikKargo предоставляет прозрачные условия. Стоимость доставки зависит от веса и объема груза, а также выбранного вида транспорта. Компания гарантирует доступные тарифы без скрытых комиссий, при этом сохраняя высокие стандарты обслуживания и обеспечения безопасности на всех этапах перевозки.
Имя Цитировать 0  
Страницы: Пред. 1 ... 265 266 267 268 269
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

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