Получить значение из нового столбца

Я пытаюсь изучить структуру 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 ответ

Решение

Проблема в том, что $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.php или же catalog/controller/product/product.php контроллеры, код, который вы пытаетесь, будет работать.

Если вы замените цену во всех списках продуктов и деталях продукта, эти контроллеры:

  • товар/
    • category.php
    • manufacturer_info.php
    • product.php
    • search.php
    • special.php
  • модуль /
    • bestseller.php
    • featured.php
    • latest.php
    • special.php

с вашей ценностью, итоговая цена в корзине будет вашей тестовой стоимостью.

Другие вопросы по тегам