首页 > iWebShop > 使用iwebshop扩展属性后,后台编辑商品的页面显示出错的处理办法
2015
04-30

使用iwebshop扩展属性后,后台编辑商品的页面显示出错的处理办法

在iwebshop后台添加商品的时候,如果选择某个商品模型,然后填写相应的扩展属性,保存后再点击编辑时,发现有部分商品的编辑页面出错。

原因:扩展属性中填写的文字里可能包含了标点符号(比如双引号或英文逗号),导致JS解析出错。

解决办法:

/views/sysdefault/goods/goods_edit.html

大概668号至677行:

---------------------------------------------------------------------

//表单回填设置项
{if:isset($goods_attr)}
{set:$attrArray = array();}
{foreach:items = $goods_attr}
{set:$valArray = explode(',',$item);}
{set:$attrArray[] = '"attr_id_'.$key.'[]":"'.join(";",$valArray).'"'}
{set:$attrArray[] = '"attr_id_'.$key.'":"'.join(";",$valArray).'"'}
{/foreach}
formObj.init({{echo:join(',',$attrArray)}});
{/if}


-------------------------------------------------------------------


修改为:

-------------------------------------------------------------------

//表单回填设置项
 {if:isset($goods_attr)}
 {set:$attrArray = array();}
 {foreach:items = $goods_attr}
 {set:$valArray = explode(',',$item);}
 {set:$valArray = str_ireplace('"','\"',$valArray);}
 {set:$valArray = str_ireplace(',',',',$valArray);}
 {set:$valArray = str_ireplace(':',':',$valArray);}
 {set:$valArray = str_ireplace(';',';',$valArray);}
 {set:$attrArray[] = '"attr_id_'.$key.'[]":"'.join(";",$valArray).'"'}
 {set:$attrArray[] = '"attr_id_'.$key.'":"'.join(";",$valArray).'"'}
 {/foreach}
 formObj.init({{echo:join(',',$attrArray)}});
 {/if}


-------------------------------------------------------------------


留下一个回复

你的email不会被公开。