从新列中检索值

时间:2013-04-10 13:02:16

标签: mysql opencart

我正在尝试学习opencart结构,并尝试在表product下创建一个新列。新专栏是“测试”

然后我尝试检索此页面下的数据index.php?route=checkout/cart(用测试列替换价格)

catalog\controller\checkout\cart.php
...

$this->data['products'][] = array(
    'key'      => $product['key'],
    'thumb'    => $image,
    'name'     => $product['name'],
    'model'    => $product['model'],
    'option'   => $option_data,
    'quantity' => $product['quantity'],
    'stock'    => $product['stock'] ? true : !(!$this->config->get('config_stock_checkout') || $this->config->get('config_stock_warning')),
    'reward'   => ($product['reward'] ? sprintf($this->language->get('text_points'), $product['reward']) : ''),
    'price'    => $product['test'],  //<-- new column
    'total'    => $total,
    'href'     => $this->url->link('product/product', 'product_id=' . $product['product_id']),
    'remove'   => $this->url->link('checkout/cart', 'remove=' . $product['key'])
);

问题是我没有得到任何输出,我不知道如何使用该模型。哪个查询/功能与此页面相关?

1 个答案:

答案 0 :(得分:1)

问题是$products控制器上可用的cart.php是从先前设置的结构中存储的会话中检索到的,因此没有test索引和你应该得到Notice: undefined index 'test' in ...

检索$products
foreach ($this->cart->getProducts() as $product) {
    //...
}

请参阅/system/library/cart.php和方法getProducts(),了解我所说的内容。

如果您想在catalog/controller/product/category.phpcatalog/controller/product/product.php控制器上使用此功能,您尝试的代码将有效。

如果您更换所有产品列表和产品详细信息中的价格,请使用以下控制器:

  • 产品/
    • category.php
    • manufacturer_info.php
    • product.php
    • 的search.php
    • special.php
  • 模块/
    • bestseller.php
    • featured.php
    • latest.php
    • special.php

使用您的值,购物车中的最终价格将是您的测试值。