• 有关 ecshop 属性 {$goods.goods_attr|nl2br} 标签的赋值问题


    1、nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。
    2、 如果要向{$goods.goods_attr|nl2br}赋新值,这个值是保存在数据库中的,用户在商品页(goods.php)选择了商品属性(goods.attr)之后,点击"购买"就会进入购物车页面(flow.php),同时,将用户选择的商品属性(goods.attr)保存进了数据库,当进入购物车页面的时候,楼主可以看flow.dwt的代码(<!-- {foreach from=$goods_list item=goods} -->),那么{$goods.goods_attr}这个东西的值来自于flow.php中的$goods_list,查看flow.php,会发现,$goods_list的值来自cart_goods()这个方法,cart_goods()这个方法在includes/lib_order.php内,那里面有一段sql
    ($sql = "SELECT 。。。, " .
                "。。。, goods_attr(重点),。。。, " .
                "。。。 " .
                "FROM " . $GLOBALS['ecs']->table('cart') .
                " WHERE session_id = '" . SESS_ID . "' " .
                "AND rec_type = '$type'";)
    ,这个sql里面的goods_attr就是楼主你想要的值,它来自数据表cart,而用户对于商品属性的选择决定了cart这个表的goods_attr保存什么样的值。
    另外一个影响{$goods.goods_attr}值的方法是includes/lib_order.php内的get_goods_attr_info(),不过这个方法不能决定商品的属性,而是决定商品属性的显示方式,它里面有一段代码:$fmt = "%s:%s[%s] \n";,这个在购物车显示出来的样子就是(例如):颜色:#ff0,我把它改了:$fmt = "<td>%s:</td><td>%s</td><td>[%s]</td> \n";, 也可以按自己的喜好来改。


       $fmt = " <label class=xxlblName>%s</label>:%s[%s] ";

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    回溯法之迷宫问题
    一个.net的正则表达式测试工具
    关于FeedSky话题广告
    google notebook更新了&digg notebook
    近日,来北京近一月
    城堡技术论坛(castle.org.cn)上线!
    玉龙雪山
    消息队列(Message Queue)
    Mac Theme for Google Reader
    开始学习npetshop2
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2686990.html
Copyright © 2020-2023  润新知