我想修改产品属性在产品页面上的显示方式。
默认情况下,属性显示为html标记。 我想用html表单显示这些属性,并在我的属性中添加描述。
到目前为止我尝试修改product.tpl文件并进行了以下更改:
<select name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
{/foreach} </select>
到
<form name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<input type="radio" name="test" value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} checked="checked"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}
{/foreach} </form>
通过此修改,似乎属性不再链接到产品,因为始终显示以下消息:“以下产品不适用于此属性...”。所以它不起作用,因为我不能再将产品添加到购物车中,属性不再影响价格......
你有什么方法可以让它正常工作吗? 您知道哪些文件链接到产品属性? 我是否需要修改AdminAttributes.php文件?
感谢大家的帮助
答案 0 :(得分:0)
,您需要修改product.js
。找到findCombination
功能并进行编辑。
$('div#attributes select').each(function(){
choice.push($(this).val());
});
由:
$('div#attributes input[type=radio]:checked').each(function(){
choice.push($(this).val());
});
在product.tpl
中您需要修改文件
<ul>
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<li>
<input type="radio" class="attribute_radio" name="{$groupName}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} onclick="findCombination();getProductAttribute();" />
<span>{$group_attribute|escape:'htmlall':'UTF-8'}</span>
</li>
{/foreach}
</ul>