我向DB添加了一个新列,用于在Opencart中为属性添加说明,我可以轻松地从管理面板添加/编辑说明,但我在product_form页面中遇到问题。我想在选择属性名称时自动为每个产品添加属性描述。 在Opencart中,管理员可以从自动完成框中选择产品的属性,但每次管理员都应手动添加属性描述。例如属性' Gold'。管理员每次选择属性' Gold'他必须手动添加黄金描述。我想从DB列' protext'中检索属性描述。管理员时自动填写相关的textarea。因此,当选择' Gold'来自输入框的相关文本应出现在相关的textarea中以供描述。
这是我以产品形式编辑但不起作用的代码。 我们将非常感谢您的帮助。
function attributeautocomplete(attribute_row) {
$('input[name=\'product_attribute[' + attribute_row + '][name]\']').autocomplete({
'source': function(request, response) {
$.ajax({
url: 'index.php?route=catalog/attribute/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request),
dataType: 'json',
success: function(json) {
response($.map(json, function(item) {
return {
category: item.attribute_group,
label: item.name,
label2: item.protext,
value: item.attribute_id
}
}));
}
});
},
'select': function(item) {
$('input[name=\'product_attribute[' + attribute_row + '][name]\']').val(item['label']);
$('input[name=\'product_attribute[' + attribute_row + '][attribute_id]\']').val(item['value']);
$('input[name=\'related\']').val('');
}
$('textarea[name=\'product_attribute[' + attribute_row + '][product_attribute_description][text]\']').autocomplete({
'append': function(item) {
$('textarea[name=\'product_attribute[' + attribute_row + '][product_attribute_description][text]\']').val(item['protext']);
}
});
}
答案 0 :(得分:0)
为此,您必须更改ajax返回结果的Controller文件中的代码。路径管理&gt;控制器&gt;目录&gt;属性 - &gt; function autocomplete()。在名称行之后或在您想要的任何其他键之后添加“protext”代码(我写了1以便您可以在文件中找到代码并且可以在此之后添加)
'name' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')),
行
'protext' => html_entity_decode($result['protext'], ENT_QUOTES, 'UTF-8'),
这是怎么回事,你会在tpl文件中得到这个。
注意 - 最好使用vqmod或ocmod进行这些更改。我的OC版本2.0.2.0