首页 > 网站 > 建站经验 > 正文

ecshop属性 {$goods.goods_attr|nl2br} 标签的赋值相关

2024-04-25 20:39:39
字体:
来源:转载
供稿:网友

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] ";

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表