0

背景:在 oc_product_description 中添加了一些新列(我为 ebay 列表添加了一些关键产品功能和替代名称,因此我可以将产品数据生成到模板中以用于 ebay 列表,同时保留和使用 opencart 网站上的代码。 )

问题:当我将产品保存在 opencart 中时,它会删除我刚刚输入表中的数据,因为它在 admin/model/catalog/product.php 大约行中使用了 Delete 然后 Insert 功能(看起来?) 140. 它使用了 $data['product_descriptions'] 数组,它出现在 admin/controller/catalog/product.php 大约第 765 行.. 但这里有 3 种可能性.. 来自 post 或 get 函数,或者一个新数组..我在 admin/view/catalog/product_form.php 中添加了隐藏字段,但是这里发生的事情最终并没有进入表格。

我还将新字段添加到 getProductDescriptions() 函数中,并直接添加到 $data 数组中,就像其他字段一样。

请不要让我去查找 MVC 模型..请帮助!!!

4

1 回答 1

0

问题是:我在隐藏字段中使用了错误的名称和值..当我仅仅写下时,我显然没有考虑太多:

<input type="hidden" name="name_ebay" value="<?php echo $entry_name_ebay; ?>">

实际上需要的是:

<input type="hidden" name="product_description[<?php echo $language['language_id']; ?>][name_ebay]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name_ebay'] : ''; ?>">

我希望这篇文章提供了一些关于将您自己的字段添加到 Opencart 的产品描述表并在管理员中使用它们的提醒或提示主要注意:i)在视图中使用语言 id ii)删除、插入(而不是更新)在模型 iii)控制器中从 post 到 $data 数组的变化

此外,我确实注意到删除行,

$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");

似乎删除了这个产品ID的记录??但不考虑语言ID?..我必须看看这是否会删除product_description表中产品的多语言网站上的翻译版本..?

于 2017-04-20T16:23:15.423 回答