ecshop中assign_dynamic('index')分析

2009-08-11 16:53 来源:www.chinab4c.com 作者:ecshop专家

    很多做电子商务站的朋友都问我,在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.就是这么来的。

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

    相关文章:

    设置ecshop2.7.0

    ecshop中板函数的处理

    zen cart语言板的选择

    来源:中国B4C电子商务