Возмжно ли избавиться от Smarty?

Тема в разделе "Как сделать...", создана пользователем bwc506, 15 апр 2008.

Статус темы:
Закрыта.
  1. bwc506

    bwc506

    Регистр.:
    30 авг 2007
    Сообщения:
    160
    Симпатии:
    107
    Есть скрипт, который использует одноимённый шаблонизатор.
    Очень надо избавиться от этой вещи. Ибо она для меня тёмный лес.
    Интуиция моя подсказывает, что где-то есть eval(), который и парсит исходный код страницы. В результате долгих и мучительных поисков я так и не нашёл тот самый eval();
    Что можно придумать ?
     
  2. Jameson

    Jameson Читатель

    Заблокирован
    Регистр.:
    25 июн 2007
    Сообщения:
    406
    Симпатии:
    92
    погодите-погодите... вы хотите использовать скрипт или нет? если вы уберете шаблонизатор, кто результат работы скрипта выводить-то будет? Простой eval не пойдет, т.к. там же свой собственный метаязык.

    или вы хотите сказать, что переписать все шаблоны данного скрипта, заменив в них smarty-переменные и логику, на нативной php-"лапше" будет проще, чем за полтора часика вникнуть в (довольно) логичный синтаксис смарти? это не так.

    да, многие пинают смарти за большой вес и кучу ненужного (им) функционала, НО правда в том, что достаточно настроить кэширование, и этот его вес никак на скорость работы влиять не будет, разве положительно.

    P.S.
    PHP expert editor без доп. настройки прекрасно справляется с подсветкой HTML+Smarty шаблонов.

    P.P.S.
    хотел все-таки написать, как сделать, что вы просите, но перечитал получившуюся у меня чепуху, задумался и предлагаю вам все-таки подробнее описать суть проблемы, т.е. что не как вы думаете ее можно решить, а что собственно, изначально сделать надо.
     
  3. bwc506

    bwc506

    Регистр.:
    30 авг 2007
    Сообщения:
    160
    Симпатии:
    107
    Хорошо. Вот суть проблемы подробнее.
    Есть у меня скрипт, который использует шаблонизатор Смарти. Я полностью согласен, что у него сво интерпретатор, который делает построение страниц проще. НО!
    Серверу он выдаёт код готовый. т.е. PHP + HTML, так как сервер наверняка понятия не имеет о смарти. Я разбирал код шаблонизатора. Понял, что он ищет свои операторы, например: {if $a==3}
    ля-ля-ля...
    {else}
    не ля-ля-ля...
    {/if}
    И просто заменяет их на нормальный(правильный) пхп код, который интерпретируется сервером:
    if ($a==3)
    {echo "ля-ля-ля...";}else{echo "не ля-ля-ля...";}
    На стороне сервера этот нормальный код, который выдал смарти обрабатывается и передаётся браузеру в виде нормальной, полноценной страницы.
    Как я понимаю, суть проблемы сводится к тому, чтобы найти ту исходную функцию (скорее всего eval()), которая и выводит нормальный скрипт, в котором смарти уже заменил все свои теги на нормальные, которые сервер понимает.
    Там просто сложная цепочка функций, разбирая которую я просто запутался. Вот и решил спросить тут, как избавиться от шаблонизатора.
    Да, и ещё, если сделать осознаную ошибку то он выдаст ошибку eval();
    Вот, наверно как-то так...
     
  4. fpinger

    fpinger

    Регистр.:
    11 май 2007
    Сообщения:
    253
    Симпатии:
    58
    У Smarty есть нормальная документация, да ещё с переводом. В ней сказано, что для объекта созданного созданного на основе класса Smarty нужно определить несколько параметров. Например:
    PHP:
    $smarty = new Smarty();
    $smarty->template_dir '/web/www.example.com/guestbook/templates/';
    $smarty->compile_dir  '/web/www.example.com/guestbook/templates_c/';
    $smarty->config_dir   '/web/www.example.com/guestbook/configs/';
    $smarty->cache_dir    '/web/www.example.com/guestbook/cache/';
    Вот здесь
    '/web/www.example.com/guestbook/templates_c/'
    и ищи файлы превращённые из шаблонов в php скрипты.
    Только зачем эта непонятная суета мне так и не понятно. Не нужен смарти? Напиши все if и что там ещё нужно ручками в нетив php.
     
  5. bwc506

    bwc506

    Регистр.:
    30 авг 2007
    Сообщения:
    160
    Симпатии:
    107
    Спасибо, за дельный совет. Я так и поступил. Только вот очень уж много делов получается. Чтобы сделать 1 страницу из шаблона у меня уходит примерно 1 час. Всего страниц надо сделать 48. Придется ручками...
    Просто думал есть способ проще.
     
  6. vovaNux

    vovaNux Постоялец

    Регистр.:
    10 апр 2007
    Сообщения:
    125
    Симпатии:
    16
    Мне кажется, что проще разобраться со смарти, чем всё это руками переделывать. Документация вполне понятная даже для новичков: _http://www.smarty.net/manual/ru/
     
Статус темы:
Закрыта.