За последние 24 часа нас посетили 17837 программистов и 1610 роботов. Сейчас ищут 834 программиста ...

Smarty

Тема в разделе "Прочие вопросы по PHP", создана пользователем RazArt, 26 фев 2012.

  1. RazArt

    RazArt Активный пользователь

    С нами с:
    26 фев 2012
    Сообщения:
    5
    Симпатии:
    0
    Первый раз решил поработать с данным шаблонизатором и сразу появились косяки..
    Функции выполняются каждый раз при компиляции нового шаблона, то есть если у меня подгружен 1 шаблон, а внутри идёт подгрузка ещё 3 шаблонов, то ф-ция вызывается 4 раза (1 раз в файле инициализации и ещё 3 при каждой компиляции). Сам код:
    Код (Text):
    1.  
    2. $registry -> set('connectDB', new mysqli_db($registry));
    3. $registry -> set('template', new Smarty());
    4. /*  --  */
    5. echo $registry -> getConnectDB() -> getAccountBonusesId('RazArt'); //ф-ция, которая добавляет запись в бд и возвращяет её ид
    6. /*  --  */
    7. $registry -> getTemplate() -> caching = false;
    8. $registry -> getTemplate() -> template_dir = $registry -> getTemplateDir();
    9. $registry -> getTemplate() -> compile_dir  = $registry -> getTemplateCompileDir();
    10. /*  --  */
    11. $registry -> getTemplate() -> assignByRef('registry', $registry);
    12. /*  --  */
    13. $registry -> getTemplate() -> display('index.tpl');
    При выполнении данного скрипта должна быть добавлена запись в бд, но она добавляется несколько раз раз.. А вот если закомментить рендеринг шаблона, то всё будет как и должно
     
  2. RazArt

    RazArt Активный пользователь

    С нами с:
    26 фев 2012
    Сообщения:
    5
    Симпатии:
    0
    Вопрос решен..