{"id":60193,"date":"2025-04-24T10:05:41","date_gmt":"2025-04-24T02:05:41","guid":{"rendered":"https:\/\/fwq.ai\/blog\/60193\/"},"modified":"2025-04-24T10:05:41","modified_gmt":"2025-04-24T02:05:41","slug":"ecshop%e5%95%86%e5%93%81%e5%b1%9e%e6%80%a7%e9%80%89%e6%8b%a9%e4%bd%bf%e7%94%a8%e5%a4%9a%e9%80%89%e6%a1%86%e7%9a%84%e5%bd%a2%e5%bc%8f-2","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/60193\/","title":{"rendered":"ecshop\u5546\u54c1\u5c5e\u6027\u9009\u62e9\u4f7f\u7528\u591a\u9009\u6846\u7684\u5f62\u5f0f"},"content":{"rendered":"<p><span><span style=\"font-family: \u9ed1\u4f53\">&nbsp; <span style=\"font-size: 12px;line-height: 25px;text-align: left\">=========== 1,\u4fee\u6539 admin\/includes\/lib_goods.php&nbsp; =========<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><span style=\"font-size: 12px;line-height: 25px;text-align: left\">\u4e2d\u7684function build_attr_html($cat_id, $goods_id = 0){}\u51fd\u6570 \u6539\u4e3a\u5982\u4e0b<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">\/**<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;* \u6839\u636e\u5c5e\u6027\u6570\u7ec4\u521b\u5efa\u5c5e\u6027\u7684\u8868\u5355<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;*<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;* @access&nbsp; public<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;* @param&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; $cat_id&nbsp;&nbsp;&nbsp;&nbsp; \u5206\u7c7b\u7f16\u53f7<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;* @param&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; $goods_id&nbsp;&nbsp; \u5546\u54c1\u7f16\u53f7<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;* @return&nbsp; string<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;*\/<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">function build_attr_html($cat_id, $goods_id = 0)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">{<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $attr = get_attr_list($cat_id, $goods_id);<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $tmpAttr = array();<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $tmpindex = array();<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; foreach ($attr AS $tmpk =&gt; $tmpv){<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp; if ($tmpv[&#8216;attr_type&#8217;] == 1 || $tmpv[&#8216;attr_type&#8217;] == 2){<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( !in_array(\u2018a\u2019.$tmpv[&#8216;attr_id&#8217;], $tmpindex) ){<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpindex[] = \u2018a\u2019.$tmpv[&#8216;attr_id&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $attr_values = explode(\u201c\\n\u201d, $tmpv[&#8216;attr_values&#8217;]);<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;attr_type&#8217;] = $tmpv[&#8216;attr_type&#8217;] ;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;attr_name&#8217;] = $tmpv[&#8216;attr_name&#8217;] ;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;attr_input_type&#8217;] = $tmpv[&#8216;attr_input_type&#8217;] ;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;attr_id&#8217;] = $tmpv[&#8216;attr_id&#8217;] ;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($attr_values AS $lk)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $lk&nbsp;&nbsp;&nbsp; = trim(htmlspecialchars($lk));<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$lk]=array(\u2018select_name\u2019=&gt;$lk,\u2019is_checked\u2019=&gt;0);<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; }&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $vk =&nbsp; trim(htmlspecialchars($tmpv[&#8216;attr_value&#8217;]));<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_id&#8217;]=$tmpv[&#8216;attr_id&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_name&#8217;]=$tmpv[&#8216;attr_name&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_input_type&#8217;]=$tmpv[&#8216;attr_input_type&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_values&#8217;]=$tmpv[&#8216;attr_values&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_value&#8217;]=$tmpv[&#8216;attr_value&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;attr_price&#8217;]=$tmpv[&#8216;attr_price&#8217;];<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; $tmpAttr[&#8216;a&#8217;.$tmpv[&#8216;attr_id&#8217;]][&#8216;selectlist&#8217;][$vk][&#8216;is_checked&#8217;]=1;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp; }else{<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmpAttr[] = $tmpv;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $html = \u2018&lt;table width=\u201d100%\u201d id=\u201dattrTable\u201d&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $spec = 0;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $tix = 0;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; foreach ($tmpAttr AS $key =&gt; $val)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u201c&lt;tr&gt;&lt;td class=\u2019label\u2019&gt;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($val[&#8216;attr_type&#8217;] == 1 || $val[&#8216;attr_type&#8217;] == 2)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .=\u201d$val[attr_name]&lt;\/td&gt;&lt;td style=\\\u201dborder:1px solid #cdcdcd;\\\u201d&gt;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u201c$val[attr_name]&lt;\/td&gt;&lt;td&gt;&lt;input type=\u2019hidden\u2019 name=\u2019attr_id_list[]\u2018 value=\u2019$val[attr_id]\u2018 \/&gt;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($val[&#8216;attr_input_type&#8217;] == 0)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;input name=\u201dattr_value_list[]\u201d type=\u201dtext\u201d value=\u201d\u2018 .htmlspecialchars($val[&#8216;attr_value&#8217;]). \u2018\u201d size=\u201d40\u2033 \/&gt; \u2018;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif ($val[&#8216;attr_input_type&#8217;] == 2)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;textarea name=\u201dattr_value_list[]\u201d rows=\u201d3\u2033 cols=\u201d40\u2033&gt;\u2019 .htmlspecialchars($val[&#8216;attr_value&#8217;]). \u2018&lt;\/textarea&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif( $val[&#8216;attr_type&#8217;] != 1 &amp;&amp; $val[&#8216;attr_type&#8217;] != 2 )<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;select name=\u201dattr_value_list[]\u201c&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;option value=\u201d&#8221;&gt;\u2019 .$GLOBALS[&#8216;_LANG&#8217;][&#8216;select_please&#8217;]. \u2018&lt;\/option&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $attr_values = explode(\u201c\\n\u201d, $val[&#8216;attr_values&#8217;]);<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($attr_values AS $opt)<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $opt&nbsp;&nbsp;&nbsp; = trim(htmlspecialchars($opt));<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html&nbsp;&nbsp; .= ($val[&#8216;attr_value&#8217;] != $opt) ?<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018&lt;option value=\u201d\u2018 . $opt . \u2018\u201d&gt;\u2019 . $opt . \u2018&lt;\/option&gt;\u2019 :<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018&lt;option value=\u201d\u2018 . $opt . \u2018\u201d selected=\u201dselected\u201d&gt;\u2019 . $opt . \u2018&lt;\/option&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;\/select&gt; \u2018;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;div&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($val[&#8216;selectlist&#8217;] AS $selkey =&gt; $selvalue){<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tix++;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .=\u201d&lt;div style=\\\u201dfloat:left; width:190px;\\\u201d&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;input type=\u2019checkbox\u2019 id=\u2019checkset_$tix\u2019\u201d. ($selvalue[&#8216;is_checked&#8217;] ? \u201cchecked\u201d : \u201c\u201d ) .\u201d&nbsp; onclick=\\\u201dsetattrdisable(this,\u2019$tix\u2019,&#8217;selectvalue_\u2019,&#8217;selectprice_\u2019,&#8217;selectattr_\u2019)\\\u201d&gt;\u201d.$selvalue[&#8216;select_name&#8217;].\u201d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .=\u201d&lt;input id=\u2019selectvalue_\u201d.$tix.\u201d\u2018 type=\u2019hidden\u2019 name=\u2019attr_value_list[]\u2018 value=\\\u201d&#8221;.$selvalue[&#8216;select_name&#8217;].\u201d\\\u201d \u201c. ($selvalue[&#8216;is_checked&#8217;] ? \u201c\u201d : \u2018disabled\u2019 ) .\u201d&nbsp; &gt; &lt;\/td&gt;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .=\u201d&lt;td&gt;\u201d.$GLOBALS[&#8216;_LANG&#8217;][&#8216;spec_price&#8217;].\u2019 &lt;input type=\u201dtext\u201d name=\u201dattr_price_list[]\u201d value=\u201d\u2018 . $selvalue[&#8216;attr_price&#8217;] . \u2018\u201d size=\u201d5\u2033 maxlength=\u201d10\u2033 \u2018. ($selvalue[&#8216;is_checked&#8217;] ? \u201c\u201d : \u2018disabled\u2019 ) .\u2019 id=\u201dselectprice_\u2019.$tix.\u2019\u201d&nbsp; \/&gt;\u2019.<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u201c&lt;input type=\u2019hidden\u2019 id=\u2019selectattr_\u201d.$tix.\u201d\u2018 name=\u2019attr_id_list[]\u2018 value=\u2019$val[attr_id]\u2018 \u201c. ($selvalue[&#8216;is_checked&#8217;] ? \u201c\u201d : \u2018disabled\u2019 ) .\u201d&nbsp; \/&gt; &lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;\u201d;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;\/div&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= ($val[&#8216;attr_type&#8217;] == 1 || $val[&#8216;attr_type&#8217;] == 2) ? \u201d \u201c:<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018 &lt;input type=\u201dhidden\u201d name=\u201dattr_price_list[]\u201d value=\u201d0\u2033 \/&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;\/td&gt;&lt;\/tr&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; }<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; $html .= \u2018&lt;\/table&gt;\u2019;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp;&nbsp; return $html;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">}<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">======== 2,\u4fee\u6539 admin\/templates\/goods_info.htm \u52a0\u4e00\u4e2ajs\u51fd\u6570\u4e0a\u53bb============<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">function setattrdisable(obj,ix,sv,sp,sa){<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; document.getElementById(sv+ix).disabled = obj.checked ? false : true;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; document.getElementById(sp+ix).disabled = obj.checked ? false : true;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp;&nbsp; document.getElementById(sa+ix).disabled = obj.checked ? false : true;<\/span><br \/> <span style=\"font-size: 12px;line-height: 25px;text-align: left\">&nbsp; }<\/span><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; =========== 1,\u4fee\u6539 admin\/includes\/lib_goods.php&nbsp; ========= &nbsp;\u4e2d\u7684function build_attr_html($cat_id, $goods_id = 0){}\u51fd\u6570 \u6539\u4e3a\u5982\u4e0b &nbsp; \/** &nbsp;* \u6839\u636e\u5c5e\u6027\u6570\u7ec4\u521b\u5efa\u5c5e\u6027\u7684\u8868\u5355 &nbsp;* &nbsp;* @access&nbsp; public &nbsp;* @param&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; $cat_id&nbsp;&nbsp;&nbsp;&nbsp; \u5206\u7c7b\u7f16\u53f7 &nbsp;* @param&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; $goods_id&nbsp;&nbsp; \u5546\u54c1\u7f16\u53f7 &nbsp;* @return&nbsp; string &nbsp;*\/ &nbsp; function build_attr_html($cat_id, $goods_id = 0) { &nbsp;&nbsp;&nbsp; $attr = get_attr_list($cat_id, $goods_id); &nbsp;&nbsp;&nbsp; $tmpAttr = array(); &nbsp;&nbsp;&nbsp; $tmpindex = array(); &nbsp;&nbsp;&nbsp; foreach [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-60193","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/60193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=60193"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/60193\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=60193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=60193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=60193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}