共享在商品详情页,用图片替换颜色(增加前台图片显示)

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

http://bbs.ecshop.com/viewthread.php?tid=126804&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D16&page=1
按照步骤可以实现后台显示
但是作者没写前台,研究了N久,终于通过比较笨的办法实现了.
找到 打开:根目录 goods.php
找到: 198行左右
  1. $smarty->assign('categories',get_categories_tree($goods['cat_id']));// 分类树
复制代码

后面添加:
  1. $smarty->assign('attr_url',get_attachment_by_id($goods_id));// 自定义属性图片
复制代码

调用的时候:
<img src="../data/color/{$attr_url}/0-0-{$value.id}.jpg" />
即可实现!

然后可以结合仿淘宝颜色和尺码的教程,可以做出下面的效果:

程序改的太乱了,没法写详细教程了,大家自己研究研究吧!


回答:
收藏 研究

Fatal error: Call to undefined function get_attachment_by_id() in /vhost/p/y/i/pyi8.cn/www/admin/goods.php on line 1037
这怎么办

/goods.php on line 1037就是添加的$attr_color_images_dir = ROOT_PATH.DATA_DIR.'/color/'.get_attachment_by_id($goods_id)."/0-0-".$info[goods_attr_id].".jpg";这段



Notice: Undefined index: attr_images_list
是不是要关联一下相册。把颜se图片的地址写入ecs_goods_attr 表?

颜色不可以




先按照帖子开始的 链接 教程,让你的后台显示出属性图片来.然后再按照本教程的方法在前台调用.

照着那贴子试过好几次了,都不行。

lib_goods.php的722行就是添加的这段
  1. $html .= $val['attr_name'] == '颜色' ? '<span>属性图片:<input type="file" name="attr_images_list[]" value="' . $val['attr_images_list'] . '" /></span> '.
复制代码

goods.php里面1025-1039添加的原贴上的这段
  1. $goods_attr_id = $info['sign'] == 'insert' ? $db->insert_id() : $info['goods_attr_id'];
  2. if( $info['sign'] == 'insert' || $info['sign'] == 'update' )
  3. {
  4. if( $info['attr_images']['tmp_name'] != '' )
  5. {
  6. $attr_images_dir = 'color/'.get_attachment_by_id($goods_id);
  7. $attr_images_scoure_name = "0-0-$goods_attr_id.jpg";
  8. $color_scoure_images = $image->upload_image($info['attr_images'] , $attr_images_dir , $attr_images_scoure_name ); // 原始图片
  9. }
  10. }
  11. else
  12. {
  13. $attr_color_images_dir = ROOT_PATH.DATA_DIR.'/color/'.get_attachment_by_id($goods_id)."/0-0-".$info[goods_attr_id].".jpg";
  14. file_exists($attr_color_images_dir) && unlink( $attr_color_images_dir );
  15. }
复制代码




仔细看看那个帖子后面的回复,

完全是按照那贴子操作的
Notice: Undefined index: attr_images_list in /vhost/p/y/i/pyi8.cn/www/admin/includes/lib_goods.php on line 722
  1. $html .= $val['attr_name'] == '颜色' ? '<span>属性图片:<input type="file" name="attr_images_list[]" value="' . $val['attr_images_list'] . '" /></span> '.$attr_color_images_html : '<span style="display:none;"><input type="file" name="attr_images_list[]" value="" /></span>';
复制代码

722的代码就是添加的这段,不知道为什么会说没定义,上传的图片保存不了。


  1. $html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2) ?
  2. $GLOBALS['_LANG']['spec_price'].' <input type="text" name="attr_price_list[]" value="' . $val['attr_price'] . '" size="5" maxlength="10" />' :
  3. ' <input type="hidden" name="attr_price_list[]" value="0" />';
复制代码
  1. $attr_color_images_html = '';
  2. if( $val['goods_attr_id'] && $val['goods_attr_id'] != 0 && $val['goods_attr_id'] != '' )
  3. {
  4. $attr_color_images_dir = "../".DATA_DIR.'/color/'.get_attachment_by_id($goods_id)."/0-0-".$val['goods_attr_id'].".jpg";
  5. file_exists($attr_color_images_dir) && $attr_color_images_html = '<span style="border:1px solid #FF6600;"><img src="'.$attr_color_images_dir.'" width="15" height="15" align="absmiddle"></span>';
  6. }
  7. $html .= $val['attr_name'] == '颜色' ? '<span>属性图片:<input type="file" name="attr_images_list[]" value="' . $val['attr_images_list'] . '" /></span> '.$attr_color_images_html : '<span style="display:none;"><input type="file" name="attr_images_list[]" value="" /></span>';
复制代码

我是这样插入的,应该没问题吧

不错,支持!!

果真好乱。。。。