• Smarty — простой способ разобраться в структуре чужих шаблонов

      Зачастую приходится разбираться в какой-нибудь самописной CMS которая устроена совершенно неочевидным для вас образом. Иногда куча времени уходит на то, чтобы понять из какого шаблона берется тот или иной кусок текста. Разобраться с шаблонами поможет префильтр смарти, префильтр это функция которая вызывается перед компиляцией каждого шаблона.

      // Объявляем функцию
      function smarty_marktpl($tpl_source, &$smarty) {
          $tpl_path = $smarty->template_dir.$smarty->_current_file;
          return "<!-- [$tpl_path] -->".$tpl_source."<!-- /[$tpl_path] -->";
      }
      // И регистрируем ее в качестве префильтра
      $smarty->register_prefilter('smarty_marktpl');

      Теперь остается только посмотреть код сгенерированной страницы и сразу становится понятно что откуда взялось.