有关 ecshop 属性 {$goods.goods_attr|nl2br} 标签的赋值问题
答案:3 悬赏:60 手机版
解决时间 2021-04-02 02:46
- 提问者网友:风月客
- 2021-04-01 21:20
有关 ecshop 属性 {$goods.goods_attr|nl2br} 标签的赋值问题
最佳答案
- 五星知识达人网友:山有枢
- 2021-04-01 22:26
1、nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (
)。
2、楼主你如果要向{$goods.goods_attr|nl2br}赋新值,这个值是保存在数据库中的,用户在商品页(goods.php)选择了商品属性(goods.attr)之后,点击"购买"就会进入购物车页面(flow.php),同时,将用户选择的商品属性(goods.attr)保存进了数据库,当进入购物车页面的时候,楼主可以看flow.dwt的代码(),那么{$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 = "%s: %s [%s] \n";,楼主也可以按自己的喜好来改。
希望对楼主有帮助。
)。
2、楼主你如果要向{$goods.goods_attr|nl2br}赋新值,这个值是保存在数据库中的,用户在商品页(goods.php)选择了商品属性(goods.attr)之后,点击"购买"就会进入购物车页面(flow.php),同时,将用户选择的商品属性(goods.attr)保存进了数据库,当进入购物车页面的时候,楼主可以看flow.dwt的代码(),那么{$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 = "
希望对楼主有帮助。
全部回答
- 1楼网友:荒野風
- 2021-04-02 01:21
不是用nl2br 是nl2br是ecshop的smarty的一个修饰,他的主要作用是把前面变量的回车换行替换成
字符,所以不能这样用,直接
要想实你这个思路,flow.php中更新购物车的代码也需要改
字符,所以不能这样用,直接
要想实你这个思路,flow.php中更新购物车的代码也需要改
- 2楼网友:渊鱼
- 2021-04-01 23:57
在smarty模板里。你不能在这里修改他的值.他只是一个显示变量。你不能在模板中修改他的值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯