我一直试图在我的osCommerce 2.3安装中添加一些自定义字段。这些字段(products_lot, products_location, products_serial_number, products_note
)都显示为它们应该显示的内容,它们都来自我的数据库中的products_description
表。我正在迁移已经拥有这些行的数据库,并且每个字段都正如我所期望的那样显示(拉动)字段值。
但是,当我尝试保存新值或将现有产品更新为这些行时,会引发1054错误:1054 - Unknown column 'products_lot' in 'field list'
如果我将这些字段的tep_db_prepare_input()
部分移动到具有product_description
的其他数组中,则不会抛出错误,但实际上没有任何值保存到数据库中。它要么切断那些字段,要么根本没有保存任何以前有数据的地方。例如,添加' 5'到产品位置:数据库中有一个很大的零点。
TL; DR 它提取信息很好,但它无法保存所有,我不知道为什么。 。 。
这是我正在使用的categories.php
文件来创建和存储这些字段:
http://pastebin.com/raw.php?i=wHrddQyq
所有MySQL行都被命名为匹配,因此products_description
表具有products_lot
等。
答案 0 :(得分:3)
如果您的自定义字段位于products
表中,则不会为每个语言ID存储该表中的行。 products_description
表包含每个语言ID的行。
自定义字段的代码位于products
表中插入/更新的$ sql_data_array中。如果每种语言的自定义字段不同并且它们存储在products_description
表中,则需要将这些字段移动到
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
环。否则,$ language_id将是未定义的。