Ecshop JS脚本引入方法insert_scripts函数使用和新增
2017-06-20 14:23
441 查看
本文转载自http://blog.csdn.net/gounsa/article/details/45724529
前段时间在写一个小项目中需要修改一些后台模板,由于用户前台模板insert_scripts函数是经过修改的,导致后台引入js脚本不通用,在不改变ecshop模板smarty机制的前提下,就需要另外再添加一个相同的函数来供后台模板调用JS脚本。这里记录下方法,以备忘记!
涉及修改文件:includes/cls_template.PHP、includes/lib_common.php
1、includes/cls_template.php中找到
function smarty_insert_scripts($args)
在该函数下方新添加一个smarty_insert_site_scripts函数
继续在该文件下找到代码
在该条件语句下方添加代码
//后台页面js文件引入方法 add by g
case 'insert_site_scripts':
$t = $this->get_para(substr($tag, 15), 0);
return '<?php echo $this->smarty_insert_site_scripts(' . $this->make_array($t) . '); ?>';
break;
2、includes/lib_common.php文件中同样找到
在该函数下方同样新添加一个smarty_insert_site_scripts函数
/**
* 处理后台页面js文件的引入 add by g
*
* @access public
* @param string $files
* @return void
*/
function smarty_insert_site_scripts($args)
{
static $scripts = array();
$arr = explode(',', str_replace(' ','',$args['files']));
$str = '';
foreach ($arr AS $val)
{
if (in_array($val, $scripts) == false)
{
$scripts[] = $val;
if ($val{0} == '.')
{
$str .= '<script type="text/javascript" src="' . $val . '"></script>';
}
else
{
$str .= '<script type="text/javascript" src="js/' . $val . '"></script>';
}
}
}
return $str;
}
3、后台模板引用方法
前段时间在写一个小项目中需要修改一些后台模板,由于用户前台模板insert_scripts函数是经过修改的,导致后台引入js脚本不通用,在不改变ecshop模板smarty机制的前提下,就需要另外再添加一个相同的函数来供后台模板调用JS脚本。这里记录下方法,以备忘记!
涉及修改文件:includes/cls_template.PHP、includes/lib_common.php
1、includes/cls_template.php中找到
function smarty_insert_scripts($args)
在该函数下方新添加一个smarty_insert_site_scripts函数
/*处理后台页面js文件的引入 add by g*/ function smarty_insert_site_scripts($args) { static $scripts = array(); $arr = explode(',', str_replace(' ', '', $args['files'])); $str = ''; foreach ($arr AS $val) { if (in_array($val, $scripts) == false) { $scripts[] = $val; if ($val{0} == '.') { $str .= '<script type="text/javascript" src="' . $val . '"></script>'; } else { $str .= '<script type="text/javascript" src="js/' . $val . '"></script>'; } } } return $str; }
继续在该文件下找到代码
case 'insert_scripts': $t = $this->get_para(substr($tag, 15), 0); return '<?php echo $this->smarty_insert_scripts(' . $this->make_array($t) . '); ?>'; break;
在该条件语句下方添加代码
//后台页面js文件引入方法 add by g
case 'insert_site_scripts':
$t = $this->get_para(substr($tag, 15), 0);
return '<?php echo $this->smarty_insert_site_scripts(' . $this->make_array($t) . '); ?>';
break;
2、includes/lib_common.php文件中同样找到
function smarty_insert_scripts($args)
在该函数下方同样新添加一个smarty_insert_site_scripts函数
/**
* 处理后台页面js文件的引入 add by g
*
* @access public
* @param string $files
* @return void
*/
function smarty_insert_site_scripts($args)
{
static $scripts = array();
$arr = explode(',', str_replace(' ','',$args['files']));
$str = '';
foreach ($arr AS $val)
{
if (in_array($val, $scripts) == false)
{
$scripts[] = $val;
if ($val{0} == '.')
{
$str .= '<script type="text/javascript" src="' . $val . '"></script>';
}
else
{
$str .= '<script type="text/javascript" src="js/' . $val . '"></script>';
}
}
}
return $str;
}
3、后台模板引用方法
{insert_site_scripts files="selectzone.js,colorselector.js"}
相关文章推荐
- Ecshop JS脚本引入方法insert_scripts函数使用和新增
- asp.net ajax后台使用JS脚本.需要使用ScriptManager..::.RegisterStartupScript 方法
- js 使用js的CreateElement方法创建元素、样式表动态引入
- Unity中使用C#脚本调用JS脚本的使用方法
- C#使用技巧之调用JS脚本方法二
- javascript:js脚本的3中引入方法
- 使用js脚本定时更新页面的方法
- jquery.slides.js 幻灯片脚本使用方法
- 一个js文件引入其他多个常用js文件的使用方法及适用范围
- C#使用技巧之调用JS脚本方法一
- C#使用技巧之调用JS脚本方法一
- 使用 Cufon 渲染网页字体(转载自ibm developerwork,在网页里引入特殊字体的方法,通过js实现字体渲染)(1)
- 【Vegas原创】访问owa,图片和js脚本不能正常显示和使用的解决方法
- C#使用技巧之调用JS脚本方法一
- 数据采集-关于密码使用js脚本进行rsa方式加密的解决方法
- 防止自建控件与页面间重复引入客户端js脚本的方法(转)
- 初学js插入节点appendChild insertBefore使用方法
- 使用jQuery动态加载js脚本文件的方法
- 使用jQuery动态加载js脚本文件的方法
- 使用a标签创建引入js中的方法