Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Новый шаблонизатор с языком шаблонов Smarty. (Дмитрий Котеров)
Goto page 1, 2, 3, 4  Next
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon May 31, 2004 3:48 am ()
   Post subject: Новый шаблонизатор с языком шаблонов Smarty.
Reply with quote

Кто-нибудь хочет протестировать новый шаблонизатор, который будет описываться в книге?

Его особенности:
  1. Полная поддержка языка и технологии Smarty в шаблонах (включая прекомпиляцию и скорость работы).
  2. Пропатченный Smarty с исправлениями глюков (сейчас бодаюсь с его разработчиками, чтобы они это включили в официальную версию).
  3. Вывод диагностических сообщений вместе со стеком вызовов и читаемым именем шаблонов (если ошибка была в шаблоне) — как в Java прямо.
  4. Если ошибка происходит в шаблоне, номер строки показывается верно (в отличие от стандартного Smarty, где все сделано кое-как).
  5. Поддержка упрощенного синтаксиса определения и вставки блоков (##ИмяБлока и {{ИмяБлока}} соответственно).
  6. Полная поддержка идеологии из предыдущей книги (в частности, наследование блоков).
  7. Поддержка контроллеров (именование классов по стандарту PEAR) в соответствии с наблой dklab.ru/chicken/nablas/16.html (пятый способ, компонентная модель).
  8. Поддержка локальных переменных в шаблонах, невидимых вне контекста (т.е. вне контроллеров или {t_local}...{/t_local}).
  9. Поддержка множественных одноименных блоков месте с контекстами (через них удобно делать хлебные крошки).
  10. Работает в PHP 4.3.0+ (в том числе в PHP5).
temp.dklab.ru/book/
Все включено. Достаточно развернуть в директорию site любого виртуального хоста (привязка к имени site идет только в одном месте — в .htaccess, где запускается обработчик; к сожалению, Apache требует указания абсолютного пути). Примеры см. в doc/ и WEB-INF/template. См. также README-файлы.
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon May 31, 2004 3:49 am (спустя 1 минуту 38 секунд)
   Post subject:
Reply with quote

Да, забыл добавить: на этом деле будет строиться orphus.ru, так что в том архиве, ссылка на который идет выше, дизайн как раз этого сайта. Не пугайтесь. (-;
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Mon May 31, 2004 9:40 am (спустя 5 часов 50 минут)
   Post subject:
Reply with quote

Дмитрий Котеров:
Да, интересная система... И самое интересное, что она работает только с существующими файлами :). А так — действительно мощная система, которая работает в пределах 0.1 сек (что для меня было очень удивительно ;) )...
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon May 31, 2004 3:47 pm (спустя 6 часов 7 минут)
   Post subject:
Reply with quote

Для перехвата обращений к несуществующим файлам существуют другие средства — например, mod_rewrite. Я не вижу причин мешать все в кучу и встраивать данную функциональность в шаблонизатор — тем более, что средствами AddHandler/Action невозможно перехватить обращение к несуществующим директориям (к файлам — можно).

Более того, в шаблонизатор встроена эмуляция 403-й и 404-й ошибок (сканирование .htaccess), чтобы при обращении к тому, чего нет, все происходило так, как обычно.
Back to top
View user's profile Send private message Send e-mail
Tronyx
Участник форума



Joined: 18 Apr 2003
Posts: 51
Карма: 6
   поощрить/наказать

Location: Ростов-на-Дону

PostPosted: Thu Jun 03, 2004 6:02 pm (спустя 3 дня 2 часа 14 минут)
   Post subject:
Reply with quote

Оффтопик:
Очень понравилась эта строка - " # Now you can easily formatHTML-код with tab." :)

WEB-INF\lib\HTML\Templier\Main.php : 295
Back to top
View user's profile Send private message
Tronyx
Участник форума



Joined: 18 Apr 2003
Posts: 51
Карма: 6
   поощрить/наказать

Location: Ростов-на-Дону

PostPosted: Thu Jun 03, 2004 6:24 pm (спустя 21 минуту)
   Post subject:
Reply with quote

А теперь вопрос: Зачем внутри инструкции strip в конце каждой строки стоит
Code (any language): скопировать код в буфер обмена
<?php
?>
Блин! Идти нужно! А я ещё поюзать его хотел, кстати а мануала нет? :)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Thu Jun 03, 2004 7:48 pm (спустя 1 час 24 минуты)
   Post subject:
Reply with quote

Мануалом будет глава в книге, плюс. см. документацию по Smarty.
Tronyx wrote:
Зачем внутри инструкции strip в конце каждой строки стоит
Где Вы такое нашли? Может, в динамически созданном скрипте, полученном при компиляции шаблона? В него вообще не нужно смотреть.
Back to top
View user's profile Send private message Send e-mail
Tronyx
Участник форума



Joined: 18 Apr 2003
Posts: 51
Карма: 6
   поощрить/наказать

Location: Ростов-на-Дону

PostPosted: Fri Jun 04, 2004 10:28 am (спустя 14 часов 39 минут)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Где Вы такое нашли? Может, в динамически созданном скрипте, полученном при компиляции шаблона? В него вообще не нужно смотреть.
Да в нём. Но тем не менее компилированый код тоже должен быть красивым и без "лишних" примочек.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Fri Jun 04, 2004 7:45 pm (спустя 9 часов 16 минут)
   Post subject:
Reply with quote

Tronyx wrote:
компилированый код тоже должен быть красивым и без "лишних" примочек
Это невыполнимое требование, к сожалению. Вкратце поясню, в чем дело. Рассмотрим такой PHP-код:
Code (any language): скопировать код в буфер обмена
..aaa
<?if (1) {?>
....bbb
<?}?>
..ccc
(обратите внимание на точки — они обозначают пробелы, я их для наглядности вставил). В PHP он сгенерирует такое:
Code (any language): скопировать код в буфер обмена
..aaa....bbb
..ccc
В Смарти этот же код (только вместо <?if...?> стоит {if ...}) даст такой результат:
Code (any language): скопировать код в буфер обмена
..aaa
<?if (1) {?>
....bbb
<?}?>
..ccc
(обратите внимание на точки — они обозначают пробелы, я их для наглядности вставил). В PHP он сгенерирует такое:
Code (any language): скопировать код в буфер обмена
..aaa
....bbb
..ccc
Совершенно очевилно, что Смарти ведет себя лучше. Дело в том, что там применена автоматическая коррекция особенности PHP — удалять \n после ?>. Иными словами, мы не можем просто транслировать
Code (any language): скопировать код в буфер обмена
{code}
aaa
в
Code (any language): скопировать код в буфер обмена
<?code?>
aaa
потому что при этом теряется \n в выводе. Тэг {if} полностью съедается, в то время как другие тэги (например, {$a}) не съедаются и не могут быть заменены на <?=$a?>.

То есть, мы должны в общем случаезаменять конструкцию
Code (any language): скопировать код в буфер обмена
aaa {$a}
bbb
на
Code (any language): скопировать код в буфер обмена
aaa <?php echo $a?><?php echo "
"?>bbb
А это — серьезный удар по читабельности (как видите). Зато сохраняется число строк, а также — правильно выводится результат.

Кстати, стандартный Смарти тут хромает, но я как раз сейчас делаю для него патч, который это исправит — будет и сохранять число строк при компиляции, и правильно оформлять вывод.
Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Tue Aug 03, 2004 3:57 am (спустя 1 месяц 28 дней 8 часов 12 минут)
   Post subject:
Reply with quote

А каким образом можно заставить его работать с php, при ServerAPI - CGI?
На денвере с php, установленном как модуль апача, всё работает прекрасно. А если подключать php как CGI, то работать перестаёт. На хостинге тоже не работает (собственно, только из-за этого мне и надо чтобы он заработал в "режиме CGI").
В настройках денвера сделал следующее:
- закоментировал "LoadModule php4_module"
- после
Code (Apache config): скопировать код в буфер обмена
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
добавил
Code (Apache config): скопировать код в буфер обмена
ScriptAlias /_php/ "/usr/local/php/"
Action application/x-httpd-php "/_php/php.exe"
Куда копать?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Aug 03, 2004 4:15 am (спустя 17 минут)
   Post subject:
Reply with quote

Вопрос непонятен. Кого "его", и что значит "работать с PHP"?

У меня настройки такие:

# PHP 5 settings
AddType application/x-httpd-php5 php5
ScriptAlias /_php5/ "/usr/local/php5/"
Action application/x-httpd-php5 "/_php5/php-cgi.exe"

и в корневом .htaccess:

Action templhandler "/templier/WEB-INF/TemplierHandler.php"
AddHandler templhandler .html

Если не заработает, попробуйте так:

Action templhandler "/templier/WEB-INF/TemplierHandler.php?"

(вопросик в конце). Это, конечно, для PHP5, но для PHP4 абсолютно аналогично.
Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Tue Aug 03, 2004 4:43 am (спустя 27 минут)
   Post subject:
Reply with quote

Прошу прощения за неточность формулировки. Просто я предполагал что раз тема про новый шаблонизатор то "его" однозначно указывает на обсуждаемый шаблонизатор.

Добавил "?" - частично заработал. Шаблонизатор вывел "шапку", но при попытке вставить блок {{Text}} выдаёт ошибку
[msg:1:d9b4b98962]E_USER_WARNING[512]: Smarty error: t_ins: no such block 'Text' nor 'default' attribute specified at ~/site/WEB-INF/template/default.htm line 70[/msg:1:d9b4b98962]

Подскажите, чем это может быть вызвано?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Aug 03, 2004 5:35 am (спустя 51 минуту)
   Post subject:
Reply with quote

Знаете, сейчас же есть уже новая версия, несовместимая со старой по многим аспектам. Я как буду дома, прикреплю ее сюда - сейчас GPRS жалко.

Вы же, в свою очередь, попробуйте просто запустить тестовый сайт, который наодится в архиве, ничего не изменяя при этом. Или Вы так и делаете?..
Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Tue Aug 03, 2004 5:44 am (спустя 9 минут)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Вы же, в свою очередь, попробуйте просто запустить тестовый сайт, который наодится в архиве, ничего не изменяя при этом. Или Вы так и делаете?..
Менял только настройки апача в httpd.conf. В самих скриптах и остальных файлах ничего не менял. Просто распаковал архив site_2004-05-31-04-38.zip в каталог нового хоста. Путь до TemplateHandler.php, соответственно получается таким: S:\home\templ\www\site\TemplateHandler.php. В браузере пытаюсь открыть такой URL: templ/site/doc/main.html
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Aug 03, 2004 12:07 pm (спустя 6 часов 22 минуты)
   Post subject:
Reply with quote

Да, вроде все правильно. Вот, попробуйте этот.


templier_2004-08-03.rar
 Description:

Download
 Filename:  templier_2004-08-03.rar
 Filesize:  160.64 KB
 Downloaded:  1284 Time(s)

Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Wed Aug 04, 2004 7:38 am (спустя 19 часов 31 минуту)
   Post subject:
Reply with quote

Новый вариант шаблонизатора работает только если php установлен как модуль апача. Если переключить на CGI, то перестаёт работать полностью, т.е. при попытке зайти на любую страницу сервер отвечает 404-й ошибкой. Ни в логах хоста, ни в глобальных логах ничего нет (имею в виду error.log). В access.log только код 404 ('"GET /templier/ HTTP/1.1" 404 37'). На всякий случай приложу http.conf (хотя ничего особенного там я сделать не мог, но вдруг...).

Что делать дальше? Свои идеи как-то закончились...


httpd.rar
 Description:
http.conf

Download
 Filename:  httpd.rar
 Filesize:  14.13 KB
 Downloaded:  1102 Time(s)

Back to top
View user's profile Send private message
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Wed Aug 04, 2004 9:18 am (спустя 1 час 40 минут)
   Post subject:
Reply with quote

Опять попробовал добавить "?" к строке Action templhandler "/templier/WEB-INF/TemplierHandler.php" в файле /templier/.htaccess. Как и в предыдущий раз шаблонизатор начал работать, но снова не так как нужно, т.е. страницу генерирует, но не полностью: при попытке выдать блок "Text" вываливается ошибка[msg:1:eef8f1cbd9]E_USER_WARNING[512]: Smarty error: t_ins: no such block 'Text' nor 'default' attribute specified at ~/templier/WEB-INF/layout/default.htm line 72

in ~/templier/web-inf/lib/Subsys/Smarty/libs/Smarty.class.php line 1102
at smarty::trigger_error()in ~/templier/web-inf/lib/Subsys/Templier/Smarty/plugin/function.t_ins.php line 38
at smarty_function_t_ins()in ~/templier/WEB-INF/layout/default.htm line 72
at include()in ~/templier/web-inf/lib/Subsys/Smarty/libs/Smarty.class.php line 1273
at smarty::fetch()in ~/templier/web-inf/lib/Subsys/Templier/Smarty.php line 107
at subsys_templier_smarty::runthefile()in ~/templier/web-inf/lib/Subsys/Templier/Smarty.php line 248
at subsys_templier_smarty_context::run()in ~/templier/web-inf/lib/Subsys/Templier/Main.php line 126
at subsys_templier_smarty::loaduri()in ~/templier/web-inf/lib/Subsys/Templier/Main.php line 154
at subsys_templier_smarty::runuri()in ~/templier/web-inf/lib/Subsys/Templier/ApacheHandler.php line 77
at subsys_templier_apachehandler::processrequest()in ~/templier/web-inf/templierhandler.php line 7
[/msg:1:eef8f1cbd9]
Back to top
View user's profile Send private message
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Wed Aug 04, 2004 9:24 am (спустя 5 минут)
   Post subject:
Reply with quote

Кстати, в сообщении
Quote:
no such block 'Text' nor 'default' attribute specified
слова nor написано верно? Может должно быть or?
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9985
   поощрить/наказать


PostPosted: Wed Aug 04, 2004 11:31 am (спустя 2 часа 6 минут)
   Post subject:
Reply with quote

Лобач Олег wrote:
nor написано верно?
Верно -- смотрите англо-русский словарь.
Back to top
View user's profile Send private message
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Wed Aug 04, 2004 11:37 am (спустя 5 минут)
   Post subject:
Reply with quote

Ок, как скажите... ;)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Thu Aug 05, 2004 8:45 am (спустя 21 час 8 минут)
   Post subject:
Reply with quote

Да, Вы правы, это баг. Вроде исправил, хотя это и все равно костыль. Проблема в том, что в скрипте нельзя отднозначно сказать, когда он запузен через ?, а когда нет, да при том еще, что PHP может стоять в виде модуля или в виде CGI.

Попробуйте обновить файлик WEB-INF/lib/Subsys/Templier/ApacheHandler.php (прилагается).


ApacheHandler.zip
 Description:

Download
 Filename:  ApacheHandler.zip
 Filesize:  1.78 KB
 Downloaded:  1026 Time(s)


ApacheHandler.zip
 Description:

Download
 Filename:  ApacheHandler.zip
 Filesize:  1.78 KB
 Downloaded:  1041 Time(s)

Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Thu Aug 05, 2004 9:06 am (спустя 20 минут)
   Post subject:
Reply with quote

Шаблонизатор заработал почти полностью, т.е. большинствро страниц генерирует правильно, но на некоторых спотыкается (например, doc/zebra.html, doc/mvc/model.html).
Несколько экспериментов (как громко сказано ;)) показали, что если путь задан к конкретному html-файлу, то шаблонизатор даёт сбой и вывыливает ошибу (аналогичную приведённой выше), а если путь задан к каталогу (например. doc/mvc/), то страница генерируется нормально.
Это всё проделано с "?" после '...TemplateHandler.php'. Если вопрос убрать, то на попытку зайти по адресу не указывая файл html (да, к примеру, просто на /templier/) сервер отвечает 404-й ошибкой, а указав путь к конкретному файлу браузер вподает в ступор.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Thu Aug 05, 2004 4:16 pm (спустя 7 часов 9 минут)
   Post subject:
Reply with quote

М-да, значит, вариант с "?" надо еще отлаживать. Самое интересное, что с PHP5 таких проблем нет: там можно работать в CGI-версии и с вопросом, и без него. Это особенности PHP4.
А почему Вы не хотите использовать mod_php? Хостер не позволяет?
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Thu Aug 05, 2004 5:04 pm (спустя 48 минут)
   Post subject:
Reply with quote

Вообще, чтобы Вам не ждать, пока я все окончательно дотестирую, Вы можете вручную поменять кусочек кода в упоминавшемся файле. Там есть такое:
Code (php): скопировать код в буфер обмена
    // Handler execution method.
    if (!isset (www.php.net/isset)($_SERVER['REDIRECT_REDIRECT_REDIRECT_STATUS']) && @$_SERVER['PATH_INFO']) {
      // Action templhandler "/WEB-INF/TemplierHandler.php"
      $request = $_SERVER["PATH_INFO"] . (
         $_SERVER['QUERY_STRING']!==''?
           "?".$_SERVER['QUERY_STRING'] : ""
      );
    } else {
      // Action templhandler "/WEB-INF/TemplierHandler.php?"
      $request = $_SERVER['QUERY_STRING'];
    }
Первая альтернатива, соответственно, вызывается для "безвопросного" обращения, а вторая - для "вопросного". Собственно, Вы можете просто явно оставить только вторую, а первую (вместе с условием) - убрать.
Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Fri Aug 06, 2004 3:18 am (спустя 10 часов 14 минут)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
А почему Вы не хотите использовать mod_php? Хостер не позволяет?
К сожалению, да. Возможно скоро хостер внемлет моим убеждениям и поставит PHP5.
Дмитрий Котеров wrote:
Собственно, Вы можете просто явно оставить только вторую, а первую (вместе с условием) - убрать.
Сделал. Работает пока нормально. Буду активнее тестировать.

Спасибо
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sat Aug 07, 2004 5:31 am (спустя 1 день 2 часа 13 минут)
   Post subject:
Reply with quote

Обработка виртуальных путей.

Создаем директорию /templier/virtual/, в ней - .htaccess:
Code (Apache config): скопировать код в буфер обмена
#
RewriteEngine On
Options +FollowSymLinks
#
RewriteRule process\.html$  -                                        [L]
#
RewriteRule (.*)\.html      /templier/virtual/process.html?name=$1   [L,QSA]
В результате запросы вида /templier/virtual/testV.html?a=b прекрасно преобразуются в /templier/virtual/process.html?name=testV&a=b, что и требовалось.

В новых версиях mod_rewrite, кстати, можно вместо /templier/virtual/process.html?name=$1 писать проще: process.html?name=$1 и, таким образом, вообще не привязываться к имени директории. Однако в старых с этим проблемы.
Back to top
View user's profile Send private message Send e-mail
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Mon Aug 09, 2004 5:18 am (спустя 1 день 23 часа 46 минут)
   Post subject:
Reply with quote

Локальные переменные, судя по тесту /templier/doc/local.html, не являются локальными. Вот результат, выводимый в браузер:[msg:1:7344d853e3]Значение переменной до входа в контейнер: old
Значение переменной после входа в контейнер: new
Значение переменной после выходя из контейнера: new[/msg:1:7344d853e3]
Следуя логике, в третьей строке должно быть значение "old"? Или я ошибаюсь?

Новый баг?
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Tue Aug 10, 2004 12:32 am (спустя 19 часов 14 минут)
   Post subject:
Reply with quote

По-моему так и должно быть.


Вообще забубенная вещь получается!!! 8-)
Мне даже расхотелось писать свой шаблонизатор )-%

Дмитрий, а под какой лицензией будет распространятся шаблонизатор?
Очень уж хочется прикрутить его на наш движок...
Back to top
View user's profile Send private message
Лобач Олег
Участник форума



Joined: 05 May 2003
Posts: 72
Карма: 6
   поощрить/наказать

Location: Новокузнецк

PostPosted: Tue Aug 10, 2004 3:19 am (спустя 2 часа 47 минут)
   Post subject:
Reply with quote

tIT wrote:
По-моему так и должно быть
Хм... А Дмитрий считает иначе (см. первый пост):
Дмитрий Котеров wrote:
Поддержка локальных переменных в шаблонах, невидимых вне контекста (т.е. вне контроллеров или {t_local}...{/t_local}).
Таки баг?
Back to top
View user's profile Send private message
Dee Mon
Участник форума



Joined: 22 Mar 2003
Posts: 684
Карма: 94
   поощрить/наказать

Location: Koh Samui, Thailand

PostPosted: Tue Aug 10, 2004 8:10 am (спустя 4 часа 50 минут)
   Post subject:
Reply with quote

ДК уехал, вернется через пару недель.
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Tue Aug 10, 2004 9:37 am (спустя 1 час 26 минут)
   Post subject:
Reply with quote

Лобач Олег wrote:
Поддержка локальных переменных в шаблонах, невидимых вне контекста (т.е. вне контроллеров или {t_local}...{/t_local}).
Таки баг?
Таки баг %-
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Aug 24, 2004 11:44 pm (спустя 14 дней 14 часов 7 минут)
   Post subject:
Reply with quote

Исправил. Ошибка-то пустяковая была, опечатка даже.
Прикладываю новый файл (WEB-INF/lib/Subsys/Templier/Smarty/plugin/*).


block.t_local.php.zip
 Description:

Download
 Filename:  block.t_local.php.zip
 Filesize:  479 Bytes
 Downloaded:  1084 Time(s)

Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Aug 24, 2004 11:46 pm (спустя 2 минуты)
   Post subject:
Reply with quote

Да, насчет лицензии. LGPL. Что это такое - читайте сами в Гугле, слишком долго объяснять. Главные особенности - свободно распространяется, но закрывать и потом продавать низя. Также нельзя менять тип лицензии.
Back to top
View user's profile Send private message Send e-mail
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Wed Aug 25, 2004 10:41 am (спустя 10 часов 54 минуты)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
но закрывать и потом продавать низя
ай-яй-яй (-;
Back to top
View user's profile Send private message
Канин Сергей
Заглянувший



Joined: 27 Nov 2004
Posts: 2
Карма: 0
   поощрить/наказать

Location: Санкт-Петербург

PostPosted: Sun Nov 28, 2004 12:01 am (спустя 3 месяца 2 дня 13 часов 20 минут; написано за 51 секунду)
   Post subject: ссылка
Reply with quote

А ссылка temp.dklab.ru/book/....zip битая....:(
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Nov 28, 2004 1:42 am (спустя 1 час 40 минут; написано за 22 секунды)
   Post subject:
Reply with quote

Верная ссылка: php5.dklab.ru.
Там все исходники из книги, включая шаблонизатор.
Back to top
View user's profile Send private message Send e-mail
fromsk
Заглянувший



Joined: 17 Dec 2004
Posts: 1
Карма: 0
   поощрить/наказать

Location: ussur

PostPosted: Mon Dec 27, 2004 10:11 am (спустя 29 дней 8 часов 28 минут; написано за 3 минуты 35 секунд)
   Post subject:
Reply with quote

А все же нельзя чуть-чуть мануала по шаблонизатору? Был бы оч. благодарен, а то понравился, но разбираться самому долго да и упущу еще чего... (по смарти не надо -- читал).
Поправка: заказал книгу на букс ру :) через пару недель стану обладателем, несколько переформулирую просьбу. Нельзя ли выложить те части по шаблонизатору которые не вошли в книгу? В частности читал что про кэширование там не влезло..
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon Dec 27, 2004 11:16 pm (спустя 13 часов 5 минут; написано за 26 секунд)
   Post subject:
Reply with quote

Пока что у меня нет материала, готового для публикации. Возможно, чуть позже.
Back to top
View user's profile Send private message Send e-mail
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Wed Jan 12, 2005 12:07 am (спустя 15 дней 51 минуту; написано за 32 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Пока что у меня нет материала, готового для публикации. Возможно, чуть позже.
А что в книге ничего про него не написано?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Wed Jan 12, 2005 2:22 am (спустя 2 часа 14 минут; написано за 24 секунды)
   Post subject:
Reply with quote

Написано, конечно. Но в интернет-то это нельзя выкладывать.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML