ecshop中的些assign_dynamic(’')

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

   先看 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);
 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.就是这么来的。函数

    全部的调用,就是这个机制。htm

相关文章
相关标签/搜索