ECShop 产品属性选项增加提示信息
2012-08-30 21:37
239 查看
本文章所涉及的 前台页面显示 与 截图 是基于SuperFly模版的修改, 而使用不同模版的就按具体情况做相应的修改.
1.本方法修改了数据库, 那首先就添加字段, 当然也可以将此步骤放于最后.
修改数据表goods_attr, 添加一名为 attr_tips 的字段.
2.修改admin/includes/lib_goods.php
(1)修改 get_attr_list 函数中的$sql变量, 增加提取的数据项 v.attr_tips
(2)找到 $html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2), 修改 build_attr_html 函数, 大约在714行.
在这句后增加下面代码:
3.修改admin/goods.php
(1)修改复制商品时, 同时复制属性值的内容
找到 $sql = "DELETE FROM " . $ecs->table('goods_attr') . " WHERE goods_id = 0"; , 大约在354行, 增加提取的数据项 attr_tips
(2)继续修改, 找到 $attr_price = $_POST['attr_price_list'][$key]; 大约在976行, 后面添加:
(3)找到$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price; 后两处, 大约在983行和989行, 后面分别添加:
(4)找到 if ($info['sign'] == 'insert') 大约在1020, 在后面增加插入的数据项 attr_tips , 对应的值为 $info[attr_tips] , 修改后效果如下:
(5)找到 elseif ($info['sign'] == 'update') 大约在1025, 在后面增加插入的数据项 attr_tips , 对应的值为 $info[attr_tips] , 修改后效果如下:
后台页面添加效果截图:
这里就完成了后台添加,数据插入操作的修改了
4.修改includes/lib_goods.php
(1)修改 get_goods_properties 函数中获得商品的规格的$sql变量, 大约在626行, 增加提取的数据项 g.attr_tips
(2)修改 get_goods_properties 函数中循环保存属性值的数组语句, $arr['spe'][$row['attr_id']]['values'][] , 添加一参数 'tips' => $row['attr_tips'] , 修改后效果如下:
5.修改相应的前台调用页面 themes/vanity/library/goods_detail.lbi , 这里使用不同的模版, 找回自己产品页内容相应调用的文件
(1)找到 {foreach from=$spec.values item=value key=key} 的循环函数, 在label 标签的title 属性上添加 {$value.tips} 调用参数, 修改后效果如下:
前台显示效果截图:
1.本方法修改了数据库, 那首先就添加字段, 当然也可以将此步骤放于最后.
修改数据表goods_attr, 添加一名为 attr_tips 的字段.
alter table ecs_goods_attr add attr_tips text Null;
2.修改admin/includes/lib_goods.php
(1)修改 get_attr_list 函数中的$sql变量, 增加提取的数据项 v.attr_tips
(2)找到 $html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2), 修改 build_attr_html 函数, 大约在714行.
在这句后增加下面代码:
$html .= '<span> 属性提示:<textarea rows="1" cols="50" name="attr_tips_list[]" style="height:17px">' . $val['attr_tips'] . '</textarea></span>';//stephen
3.修改admin/goods.php
(1)修改复制商品时, 同时复制属性值的内容
找到 $sql = "DELETE FROM " . $ecs->table('goods_attr') . " WHERE goods_id = 0"; , 大约在354行, 增加提取的数据项 attr_tips
(2)继续修改, 找到 $attr_price = $_POST['attr_price_list'][$key]; 大约在976行, 后面添加:
$attr_tips = $_POST['attr_tips_list'][$key];
(3)找到$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price; 后两处, 大约在983行和989行, 后面分别添加:
$goods_attr_list[$attr_id][$attr_value]['attr_tips'] = $attr_tips;
(4)找到 if ($info['sign'] == 'insert') 大约在1020, 在后面增加插入的数据项 attr_tips , 对应的值为 $info[attr_tips] , 修改后效果如下:
$sql = "INSERT INTO " .$ecs->table('goods_attr'). " (attr_id, goods_id, attr_value, attr_price, attr_tips)". "VALUES ('$attr_id', '$goods_id', '$attr_value', '$info[attr_price]', '$info[attr_tips]')";
(5)找到 elseif ($info['sign'] == 'update') 大约在1025, 在后面增加插入的数据项 attr_tips , 对应的值为 $info[attr_tips] , 修改后效果如下:
$sql = "UPDATE " .$ecs->table('goods_attr'). " SET attr_price = '$info[attr_price]', attr_tips = '$info[attr_tips]' WHERE goods_attr_id = '$info[goods_attr_id]' LIMIT 1";
后台页面添加效果截图:
这里就完成了后台添加,数据插入操作的修改了
4.修改includes/lib_goods.php
(1)修改 get_goods_properties 函数中获得商品的规格的$sql变量, 大约在626行, 增加提取的数据项 g.attr_tips
(2)修改 get_goods_properties 函数中循环保存属性值的数组语句, $arr['spe'][$row['attr_id']]['values'][] , 添加一参数 'tips' => $row['attr_tips'] , 修改后效果如下:
$arr['spe'][$row['attr_id']]['values'][] = array( 'label' => $row['attr_value'], 'price' => $row['attr_price'], 'format_price' => price_format(abs($row['attr_price']), false), 'id' => $row['goods_attr_id'], 'tips' => $row['attr_tips']);
5.修改相应的前台调用页面 themes/vanity/library/goods_detail.lbi , 这里使用不同的模版, 找回自己产品页内容相应调用的文件
(1)找到 {foreach from=$spec.values item=value key=key} 的循环函数, 在label 标签的title 属性上添加 {$value.tips} 调用参数, 修改后效果如下:
<label for="spec_value_{$value.id}" title="{$value.tips}{if $value.tips neq ''}<br/>{/if}{if $value.price gt 0}{$lang.plus}{$value.format_price|abs}{elseif $value.price lt 0}{$lang.minus}{$value.format_price|abs}{/if}">
前台显示效果截图:
相关文章推荐
- HO3003: IE6 IE7 IE8(Q) 中 IMG 元素的 alt 属性在没有 title 属性的情况下会被当作提示信息使用
- 使用EF保存数据时 提示: 其他信息: 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
- 错误提示之:已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性
- ecshop如何增加多个产品详细描述的编辑器
- ECSHOP-判断产品属性
- 会员中心选项添加提示信息
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
- Unity属性——AddComponentMenu 字面理解:添加 组件选项菜单 分析:可能是添加一个脚本或者组件到一个物体上 验证: 新建一个脚本:AttributeTest 提示:添
- ecshop如何增加多个产品详细描述的编辑器
- ecshop_增加商品属性
- ecshop修改用户登录成功和退出成功的提示页面信息
- 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法
- ecshop 后台增加设置选项(系统控制变量)的方法____2016年5月28日
- VS+SqlServe 在引用了webservice后刷新数据时提示:已超过传入消息(65536)的最大消息大小配额若要增加配额请使用相应绑定元素上 MaxReceivedMessageSize 属性
- ecshop 登录注册信息提示页面的跳转时间设置
- JQuery判断radio属性为空的时候错误提示信息显示位置不正确解决办法
- ECSHOP后台商品列表中增加商品属性的显示方法 .
- hibernate中增加annotation @后不提示信息【转】
- 在Winform中为TreeView控件增加鼠标旋停时提示节点信息
- 给产品增加一个过滤属性test