我們后臺(tái)設(shè)定ecshop屬性列表,存在兩種設(shè)定方式商品屬性顯示樣式: 單選按鈕 與下拉列表,但是有時(shí)候可能我們需要讓ecshop商品同時(shí)支持下拉與單選按鈕,怎么辦?
這里最模板提供簡(jiǎn)單的一個(gè)方法
在ecshop設(shè)定屬性值時(shí),如一般否進(jìn)行檢索 ,我們都不會(huì)選擇,那么可以設(shè)定起來,在系統(tǒng)當(dāng)中以這個(gè)為參照來判斷。
用到的字段attr_index 值為1
1. 找到系統(tǒng)lib_goods.php文件,函數(shù)get_goods_properties。增加屬性spe的值
此段改成:
foreach ($res AS $row) {
$row['attr_value'] = str_replace("/n", '<br />', $row['attr_value']);
if ($row['attr_type'] == 0) {
$group = (isset($groups[$row['attr_group']])) ? $groups[$row['attr_group']] : $GLOBALS['_LANG']['goods_attr'];
$arr['pro'][$group][$row['attr_id']]['name'] = $row['attr_name'];
$arr['pro'][$group][$row['attr_id']]['value'] = $row['attr_value'];
} else {
$arr['spe'][$row['attr_id']]['attr_type'] = $row['attr_type'];
$arr['spe'][$row['attr_id']]['name'] = $row['attr_name'];
$arr['spe'][$row['attr_id']]['attr_index'] = $row['attr_index'];
$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']);
}
2,在模板當(dāng)中判斷
<!-- {if $spec.attr_index eq 1} -->
<!-- {foreach from=$spec.values item=value key=key} -->
<label for="spec_value_{$value.id}">
<input type="radio" name="spec_{$spec_key}" value="{$value.id}" id="spec_value_{$value.id}" {if $key eq 0}checked{/if} onclick="changePrice()" />
{$value.label} [{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}] </label><br />
<!-- {/foreach} -->
<input type="hidden" name="spec_list" value="{$key}" />
<!-- {else} -->
<select name="spec_{$spec_key}" onchange="changePrice()">
<!-- {foreach from=$spec.values item=value key=key} -->
<option label="{$value.label}" value="{$value.id}">{$value.label} {if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if}{if $value.price neq 0}{$value.format_price}{/if}</option>
<!-- {/foreach} -->
</select>
<input type="hidden" name="spec_list" value="{$key}" />
<!-- {/if} -->
<!-- {/if} -->
標(biāo)紅部分<!-- {if $spec.attr_index eq 1} --> 就是主要判斷部分。這樣ecshop屬性列表展示列表方式與單選按鈕同時(shí)存在了。
新聞熱點(diǎn)
疑難解答
圖片精選