/** * Allows to override template source with addons * @param \Smarty_Template_Source $source * @param \Smarty_Internal_Template $_template */ public function populate(\Smarty_Template_Source $source, \Smarty_Internal_Template $_template = null) { $overridden_resource = fn_addon_template_overrides($source->resource, $_template); if ($overridden_resource != $source->resource) { $source->unique_resource = str_replace($source->resource, $overridden_resource, $source->unique_resource); $source->name = $overridden_resource; $source->resource = $overridden_resource; } return parent::populate($source, $_template); }
/** * Prefilter: template wrapper for design mode * @param string $content template content * @param \Smarty_Internal_Template $template template instance * @return string template content */ public static function preTemplateWrapper($content, \Smarty_Internal_Template $template) { $cur_templ = fn_addon_template_overrides($template->template_resource, $template); $ignored_template = array('index.tpl', 'common/pagination.tpl', 'views/categories/components/menu_items.tpl', 'views/block_manager/render/location.tpl', 'views/block_manager/render/container.tpl', 'views/block_manager/render/grid.tpl', 'views/block_manager/render/block.tpl'); if (!in_array($cur_templ, $ignored_template) && fn_get_file_ext($cur_templ) == 'tpl') { // process only "real" templates (not eval'ed, etc.) $content = '{if $runtime.customization_mode.design == "Y" && $smarty.const.AREA == "C"}' . '{capture name="template_content"}' . $content . '{/capture}' . '{if $smarty.capture.template_content|trim}' . '{if $auth.area == "A"}' . '<span class="cm-template-box template-box" data-ca-te-template="' . $cur_templ . '" id="{set_id name="' . $cur_templ . '"}">' . '<div class="cm-template-icon icon-edit ty-icon-edit hidden"></div>' . '{$smarty.capture.template_content nofilter}<!--[/tpl_id]--></span>' . '{else}{$smarty.capture.template_content nofilter}{/if}{/if}' . '{else}' . $content . '{/if}'; } return $content; }
/** * Prepares data before template fetch (adds template override, assigns navigation and checks for ajax request) * @param string $template template name * @return string processed template name */ private function _preFetch($template) { if (defined('AJAX_REQUEST') && !\Tygh::$app['ajax']->full_render) { // Decrease amount of templates to parse if we're using ajax request if ($template == 'index.tpl') { $template = $this->getTemplateVars('content_tpl'); } list($area, $area_type) = $this->getArea(); if ($area == 'A' && empty($area_type)) { // Display required helper files parent::fetch('buttons/helpers.tpl'); } } $this->_setCoreParams(); return fn_addon_template_overrides($template, $this); }
function prefilter_template_wrapper($content, &$compiler) { $cur_templ = fn_addon_template_overrides($compiler->_current_file, $compiler); $ignored_template = array('index.tpl', 'common_templates/pagination.tpl', 'views/categories/components/menu_items.tpl'); if (!in_array($cur_templ, $ignored_template)) { $content = '{capture name="template_content"}' . $content . '{/capture}{if $smarty.capture.template_content|trim}{if $auth.area == "A"}<span class="cm-template-box" template="' . $cur_templ . '" id="{set_id name=' . $cur_templ . '}"><img class="cm-template-icon hidden" src="{$images_dir}/icons/layout_edit.gif" width="16" height="16" alt="" />{$smarty.capture.template_content}<!--[/tpl_id]--></span>{else}{$smarty.capture.template_content}{/if}{/if}'; } return $content; }