ecshop生成html的扩展

2010-08-11 11:04 来源:www.chinab4c.com 作者:admin

       ecshop生成html确实是有很多问题.首先是他的文件结构。就有问题,不断的include包含js和html.所以让静态化觉得非常复杂.数据的调用也需要大量的js去支持.都是文件包含的问题,ecshop模板一般最好使用绝对路径。我们将扩展函数insert_scripts_web.来包含绝对的文件.

      1:includes/init.php

     define('WWW_ROOT', 'http://localhost/html/');$smarty->assign('WWW_ROOT', WWW_ROOT);

      2:cls_templates.php

     function smarty_insert_scripts_web($args)
    {
        static $scripts = array();

        $arr = explode(',', str_replace(' ', '', $args['files']));

        $str = '';
        foreach ($arr AS $val)
        {
            if (in_array($val, $scripts) == false)
            {
                $scripts[] = $val;
                $str .= '<script type="text/javascript" src="'.WWW_ROOT.'js/' . $val . '"></script>';
              
            }
        }

        return $str;
    }
    

    case 'insert_scripts_web':
                    $t = $this->get_para(substr($tag, 15), 0);

                    return '<?php echo $this->smarty_insert_scripts_web(' . $this->make_array($t) . '); ?>';
                    break;

 3:模板中调用

   {insert_scripts_web files='common.js'}

   来源:http://www.chinab4c.com