예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
파일: Core.php 프로젝트: askzap/ultimate
 /**
  * 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);
 }
예제 #4
0
 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;
 }