2013-04-10 74 views
0

我正在尝试学习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

问题在于'cart.php'控制器上可用的'$ products'从它们被存储在先前设置的结构中的会话中检索,所以没有'test'索引。参见'/ system/library/cart.php'和方法'getProducts()'来理解我在说什么。如果你想在'catalog/controller/product/category.php'或'catalog/controller/product/product.php'控制器上使用它,你正在尝试的代码**将会工作。如果您在所有产品清单和产品细节中更换价格,购物车内的最终价格就是您的“测试”价值。 – shadyyx 2013-04-10 13:23:47

+0

@shadyyx是它在category.php和product.php下工作,不幸的是没有与控制器\ checkout \ cart.php ... – rusly 2013-04-10 13:36:21

+0

@shadyyx感谢您的信息,我现在看到/system/library/cart.php下的代码我明白它是如何工作的..现在我可以显示我的自定义字段下cart.php ..再次感谢:) – rusly 2013-04-10 13:39:06

回答

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

与你的价值,内购物车的最终售价会成为你的测试价值。