在ECShop模板的dwt文件中,经常可以看到类似 {insert_scripts files=’common.js’}或者{insert name=’cart_info’}的代码。
对于{insert_scripts files=’common.js’},我们可以很理所当然猜想到它是调用JS文件的语句。
而很多人都不清楚这个{insert name=’cart_info’}是调用的哪里的内容。
其实,它与上面的类似,只是它掉的不是文件,而是函数返回的字符串,可以是HTML,也可以是普通字符串。
打开ECSHOP的安装的根目录下的includes文件夹,查找一个名为 lib_insert.php的文件。
在文件中查找“cart_info”,你会发现一个insert_cart_info()函数,没错,{insert name=’cart_info’}调出来的所有内容就是该函数的返回值。注意它的函数名的命名规则是 “insert_” + 函数后缀名,这样在模板中调用时就可以用{insert name=’函数后缀名’}的方式调用函数的返回值了。
知道了这些。我们就可以在此文件中定义自己的函数,在模板中通过类似的方式调用就可以了。这个动态的调用功能很方便,因为我只要我定义了函数,就可以在任何模板中调用该函数的返回值,就不用在去找该模板对应的PHP文件了,而且删除的话直接在模板里删掉就可以了,不会造成资源的浪费。