=========== 1,修改 admin/includes/lib_goods.php =========
中的function build_attr_html($cat_id, $goods_id = 0){}函数 改为如下
/**
* 根据属性数组创建属性的表单
*
* @access public
* @param int $cat_id 分类编号
* @param int $goods_id 商品编号
* @return string
*/
function build_attr_html($cat_id, $goods_id = 0)
{
$attr = get_attr_list($cat_id, $goods_id);
$tmpAttr = array();
$tmpindex = array();
foreach ($attr AS $tmpk => $tmpv){
if ($tmpv['attr_type'] == 1 || $tmpv['attr_type'] == 2){
if( !in_array(‘a’.$tmpv['attr_id'], $tmpindex) ){
$tmpindex[] = ‘a’.$tmpv['attr_id'];
$attr_values = explode(“\\n”, $tmpv['attr_values']);
$tmpAttr['a'.$tmpv['attr_id']]['attr_type'] = $tmpv['attr_type'] ;
$tmpAttr['a'.$tmpv['attr_id']]['attr_name'] = $tmpv['attr_name'] ;
$tmpAttr['a'.$tmpv['attr_id']]['attr_input_type'] = $tmpv['attr_input_type'] ;
$tmpAttr['a'.$tmpv['attr_id']]['attr_id'] = $tmpv['attr_id'] ;
foreach ($attr_values AS $lk)
{
$lk = trim(htmlspecialchars($lk));
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$lk]=array(‘select_name’=>$lk,’is_checked’=>0);
}
}
$vk = trim(htmlspecialchars($tmpv['attr_value']));
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_id']=$tmpv['attr_id'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_name']=$tmpv['attr_name'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_input_type']=$tmpv['attr_input_type'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_values']=$tmpv['attr_values'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_value']=$tmpv['attr_value'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['attr_price']=$tmpv['attr_price'];
$tmpAttr['a'.$tmpv['attr_id']]['selectlist'][$vk]['is_checked']=1;
}else{
$tmpAttr[] = $tmpv;
}
}
$html = ‘<table width=”100%” id=”attrTable”>’;
$spec = 0;
$tix = 0;
foreach ($tmpAttr AS $key => $val)
{
$html .= “<tr><td class=’label’>”;
if ($val['attr_type'] == 1 || $val['attr_type'] == 2)
{
$html .=”$val[attr_name]</td><td style=\\”border:1px solid #cdcdcd;\\”>”;
}else{
$html .= “$val[attr_name]</td><td><input type=’hidden’ name=’attr_id_list[]‘ value=’$val[attr_id]‘ />”;
}
if ($val['attr_input_type'] == 0)
{
$html .= ‘<input name=”attr_value_list[]” type=”text” value=”‘ .htmlspecialchars($val['attr_value']). ‘” size=”40″ /> ‘;
}
elseif ($val['attr_input_type'] == 2)
{
$html .= ‘<textarea name=”attr_value_list[]” rows=”3″ cols=”40″>’ .htmlspecialchars($val['attr_value']). ‘</textarea>’;
}
elseif( $val['attr_type'] != 1 && $val['attr_type'] != 2 )
{
$html .= ‘<select name=”attr_value_list[]“>’;
$html .= ‘<option value=”">’ .$GLOBALS['_LANG']['select_please']. ‘</option>’;
$attr_values = explode(“\\n”, $val['attr_values']);
foreach ($attr_values AS $opt)
{
$opt = trim(htmlspecialchars($opt));
$html .= ($val['attr_value'] != $opt) ?
‘<option value=”‘ . $opt . ‘”>’ . $opt . ‘</option>’ :
‘<option value=”‘ . $opt . ‘” selected=”selected”>’ . $opt . ‘</option>’;
}
$html .= ‘</select> ‘;
}else{
$html .= ‘<div>’;
foreach ($val['selectlist'] AS $selkey => $selvalue){
$tix++;
$html .=”<div style=\\”float:left; width:190px;\\”><table><tr><td><input type=’checkbox’ id=’checkset_$tix’”. ($selvalue['is_checked'] ? “checked” : “” ) .” onclick=\\”setattrdisable(this,’$tix’,'selectvalue_’,'selectprice_’,'selectattr_’)\\”>”.$selvalue['select_name'].” ”;
$html .=”<input id=’selectvalue_”.$tix.”‘ type=’hidden’ name=’attr_value_list[]‘ value=\\”".$selvalue['select_name'].”\\” “. ($selvalue['is_checked'] ? “” : ‘disabled’ ) .” > </td>”;
$html .=”<td>”.$GLOBALS['_LANG']['spec_price'].’ <input type=”text” name=”attr_price_list[]” value=”‘ . $selvalue['attr_price'] . ‘” size=”5″ maxlength=”10″ ‘. ($selvalue['is_checked'] ? “” : ‘disabled’ ) .’ id=”selectprice_’.$tix.’” />’.
“<input type=’hidden’ id=’selectattr_”.$tix.”‘ name=’attr_id_list[]‘ value=’$val[attr_id]‘ “. ($selvalue['is_checked'] ? “” : ‘disabled’ ) .” /> </td></tr></table></div>”;
}
$html .= ‘</div>’;
}
$html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2) ? ” “:
‘ <input type=”hidden” name=”attr_price_list[]” value=”0″ />’;
$html .= ‘</td></tr>’;
}
$html .= ‘</table>’;
return $html;
}
======== 2,修改 admin/templates/goods_info.htm 加一个js函数上去============
function setattrdisable(obj,ix,sv,sp,sa){
document.getElementById(sv+ix).disabled = obj.checked ? false : true;
document.getElementById(sp+ix).disabled = obj.checked ? false : true;
document.getElementById(sa+ix).disabled = obj.checked ? false : true;
} (责任编辑:chinab4c) |