OpenCart选项未正确加载

时间:2012-11-05 12:05:08

标签: php opencart

我开始研究一个使用OpenCart的项目。在尝试添加新选项时,我遇到了一个奇怪的问题。

我在后端创建两个文本选项并将它们分配给产品。它有效。问题是,前端未正确加载选项。它们显示正常,但是当我输出所有应该存在的变量(特别是product_option_id)时,它们是NULL。我以前甚至没有注意到这个问题,但我需要product_option_id对代码进行一些修改。

当我通过print_f输出页面上的选项时,我得到了这个:

[0] => Array
    (
        [product_option_id] => 
        [calc_group_id] => 0
        [description] => ####
        [option_id] => 469
        [name] => ####
        [type] => text
        [option_value] => 
        [required] => 0
    )

[1] => Array
    (
        [product_option_id] =>
        [calc_group_id] => 0
        [description] => ####
        [option_id] => 468
        [name] => ####
        [type] => text
        [option_value] => 
        [required] => 0
    )

我将问题缩小到OpenCart中的产品模型(catalog / model / catalog / product.php)

和这一行:

    $product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");

我尝试了这个SQL语句,它确切地返回了它的内容,product_option_id也是如此。我不知道什么是错的,如果在phpmyadmin中测试,SQL语句会返回正确的值,但上面的代码行没有(我输出$ product_option_query-> $ rows和一些值,比如product_option_id是空的)。

我怀疑我是否以错误的方式创建了选项。或者这是可能的吗? 有趣的是,其他一些选项(选择类型选项)甚至我创建的选项(如果设置为选择类型)都会返回所有值,包括product_option_id。

1 个答案:

答案 0 :(得分:2)

虚假警报,无论如何,谢谢。

问题不是opencart,问题是在我之前从事这个项目的人。 他在vqmod脚本中更改了我遇到的问题。不用说,他的sql语句不起作用,导致结果是两个product_option_ids,一个是实际结果,一个是空的。

这对我来说是一个教训。如果您接管一个项目,请务必仔细检查以前完成的工作。