您好我试图为prestashop的产品功能添加自定义链接。
这是我试过的:
修改/classes/FeatureValue.php
// Lang字段
'value' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required'
=> true, 'size' => 255),
到这个
// Lang字段
'value' => array('type' => self::TYPE_NOTHING, 'lang' => true, 'validate' => 'isAnything', 'required'
=> true, 'size' => 255),
此文件: /themes/<your theme folder>/product.tpl
自:
{foreach from=$features item=feature}
<tr class="{cycle values="odd,even"}">
{if isset($feature.value)}
<td>{$feature.name|escape:'html':'UTF-8'}</td>
<td>{$feature.value|escape:'html':'UTF-8'}</td>
{/if}
</tr>
{/foreach}
对此:
{foreach from=$features item=feature}
<tr class="{cycle values="odd,even"}">
{if isset($feature.value)}
<td>{$feature.name|escape:'html':'UTF-8'}</td>
<td>{$feature.value|escape:'UTF-8'}</td>
{/if}
</tr>
{/foreach}
此文件: admin1234/themes/default/template/controllers/products/features.tpl
改变了这个:
<textarea class="custom_{$available_feature.id_feature}_ALL textarea-autosize" name="custom_{$available_feature.id_feature}_ALL"
cols="40" style='background-color:#CCF' rows="1" onkeyup="{foreach from=$languages key=k item=language}$('.custom_{$available_feature.id_feature}_{$language.id_lang}').val($(this).val());{/foreach}" >{$available_feature.val[1].value|escape:'html':'UTF-8'|default:""}</textarea>
对此:
<textarea class="custom_{$available_feature.id_feature}_ALL textarea-autosize" name="custom_{$available_feature.id_feature}_ALL"
cols="40" style='background-color:#CCF' rows="1" onkeyup="{foreach from=$languages key=k item=language}$('.custom_{$available_feature.id_feature}_{$language.id_lang}').val($(this).val());{/foreach}" >{$available_feature.val[1].value|escape:'UTF-8'|default:""}</textarea>
问题在于,当我将值添加到自定义字段时,在我单击保存后,它会消失,并且它不会插入到数据库中。 但是,如果我将超链接添加到已定义的功能,那么它将保存在数据库中,我可以使用它。 但是因为我想添加多个超链接/高度,所以我说我不能制作100个预定义的组合。
如果我不清楚我道歉,如果您需要更多信息,请告诉我。 Prestashop版本:1.6.0.11
答案 0 :(得分:1)
Edite
类/ Product.php
查找
Add new feature to product
和2行上层找
$row = array('id_feature_value' => (int)$id_value, 'id_lang' => (int)$lang, 'value' => pSQL($cust));
随
改变$row = array('id_feature_value' => (int)$id_value, 'id_lang' => (int)$lang, 'value' => $cust);
我只是删除
对于你自己的所有其他更改都是真的。在1.6版本中的这个更改自定义html工作正常!
只是清除缓存和罚款。 。
进行一些reasone检查
/override/classes/
如果您看到Product.php和FeatureValue.php也对它们进行了更改