我是新手,想自己弄清楚,但是现在我已经走到了尽头。
需要在“图片”标签中为其他产品图片添加说明字段。
我做了什么。在admin \ model \ catalog \ product.php第76和222行中插入:
if (isset($data['product_image'])) {
foreach ($data['product_image'] as $product_image) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product_image SET product_id = '" . (int)$product_id . "', image = '" . $this->db->escape($product_image['image']) . "', sort_order = '" . (int)$product_image['sort_order'] . "', language_id = '" . (int)$language_id . "', img_description = '" . $this->db->escape($product_image['img_description']) . "'");
}
}
在admin \ controller \ catalog \ product.php第1079行中插入:
$data['product_images'][] = array(
'image' => $image,
'thumb' => $this->model_tool_image->resize($thumb, 100, 100),
'sort_order' => $product_image['sort_order'],
'img_description' => $product_image['img_description']
);
在admin \ view \ template \ catalog \ product_form.twig中插入带有语言绑定的字段(网站上有两种语言)
<td class="text-right">{% for language in languages %}
<div class="input-group"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>
<textarea name="product_image[{{ image_row }}][{{ language.language_id }}][img_description]" rows="5" placeholder="{{ entry_img_description }}" class="form-control">{{ product_image[language.language_id] ? product_image[language.language_id].img_description }}</textarea>
</div>
{% endfor %}
</td>
在表oc_product_image的数据库中,我添加了字段img_description
和language_id
(添加到PRIMARY和属性为“主要”的语言的ID-我使用OpenServer)。
保存更改后,我更新了选项卡中的修饰符。
我没有移至字段输出的一部分,因为更新产品卡时出错:
通知:未定义索引:第250行上的** \ system \ storage \ modification \ admin \ model \ catalog \ product.php中的img_description通知:未定义索引:** \ system \ storage \ modification \ admin \ model \中的img_description第250行上的catalog \ product.php警告:无法修改标头信息-在线上** \ system \ library \ response.php中已经发送过的标头(输出从** \ admin \ controller \ startup \ error.php:34开始) 36
我检查了此文件,在指定的位置(第250行)没有任何内容,并且在与product_image
相关的位置中,如上所述进行了相应的更改。
请人帮忙解决问题。