ecshop中的些assign_dynamic(’')

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecshop中的些assign_dynamic(’')相关的知识,希望对你有一定的参考价值。

  很多做电子商务站的朋友都问我,在ecshop中,里面有个 assign_dynamic(‘index‘);这个到底是什么作用来的,这个其实是ecshop中的模板技术,动态处理一些局部信息更新而不被缓存的机制。

   先看 assign_dynamic()函数,$sql = ‘SELECT id, number, type FROM ‘ . $GLOBALS[‘ecs‘]->table(‘template‘) .  " WHERE filename = ‘$tmp‘ AND type > 0 AND remarks =‘‘ AND theme=‘" . $GLOBALS[‘_CFG‘][‘template‘] . "‘";$res = $GLOBALS[‘db‘]->getAll($sql);
 

     通过条件,用$GLOBALS[‘smarty‘]->assign(‘goods_cat_‘ . $row[‘id‘], assign_cat_goods($row[‘id‘], $row[‘number‘]));给不同的模块赋予他们的值得。比如在分类,就调用assign_cat_goods()函数,传递给模板参数‘goods_cat_‘ . $row[‘id‘]

     在最后ecshopsmarty将会调用dyna_libs_replace()函数,对不同的模块,给予template,通过例如  $str = ‘{assign var="cat_goods" value=$cat_goods_‘ .$row[‘id‘]. ‘}{assign var="goods_cat" value=$goods_cat_‘ .$row[‘id‘]. ‘}‘;方式传递。所以你在模板里面,可以看到$cat_goods.就是这么来的。

    所有的调用,就是这个机制。


以上是关于ecshop中的些assign_dynamic(’')的主要内容,如果未能解决你的问题,请参考以下文章

AC的些基本使用

ecshop中的$user对象

ECSHOP(3.0.0升级3.6.0)帮助教程

Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG

ECshop语言包lang的加载原理

ecshop订单状态对应值详解