[Помогите] артикул товара в заказе

Тема в разделе "OpenCart", создана пользователем Globe-Star, 20 ноя 2013.

  1. Globe-Star

    Globe-Star ...

    Регистрация:
    7 май 2013
    Сообщения:
    421
    Симпатии:
    122
    здраствуйте, вотпрос состоит в том как сделать так чтобы когда я просматриваю заказ в админке, и там в товаре только прописано имя, и опцци, толи размер который выбрали толи цвет. А как вывести чтобы в заказе еще артикул и модель и так далее.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.051
    Симпатии:
    778
    Алгоритм такой:
    В контроллере /admin/controller/sale/order.php в функции getForm нужно для каждого $order_product['product_id'] сделать дополнительный запрос к БД и получить нужные данные этого товара (изначально они в заказ не сохраняются). Полученные данные нужно добавить в массив $this->data['order_products'] и вывести их в шаблоне /admin/view/template/sale/order_form.tpl.

    Запрос к БД будет выглядеть так:
    PHP:
    $this->model_catalog_product->getProduct($order_product['product_id']);
    Соответствующая модель у вас уже должна быть подключена, но если нет, добавьте перед
    PHP:
    foreach ($order_products as $order_product) {
    эту строку:
    PHP:
    $this->load->model('catalog/product');
    Это для вывода в форме редактирования заказа.
     
    Globe-Star нравится это.
  3. Globe-Star

    Globe-Star ...

    Регистрация:
    7 май 2013
    Сообщения:
    421
    Симпатии:
    122
    спасибо, а куда править чтобы поле артикула еще выводилось в счёте фактуре ?
     
  4. zoolos

    zoolos

    Регистрация:
    15 ноя 2013
    Сообщения:
    46
    Симпатии:
    3
    искать файл который отвечает за счета фактуру, там по аналогии можно сообразить как его подправить
     
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.051
    Симпатии:
    778
    Тот же контроллер, функция invoice.
    Только у вас теперь данные товара из заказа не в $order_product, а в $product (имена ключей в массиве такие же).
    А выводить нужно не в массиве $this->data['order_products'], а в $product_data.
    Ну и выводить в шаблоне /admin/view/template/sale/order_invoice.tpl
     
  6. Ваган

    Ваган

    Регистрация:
    8 ноя 2013
    Сообщения:
    31
    Симпатии:
    1
    Подскажите пожалуйста где берется переменная + product['model'] + в файле /admin/view/template/sale/order_form.tpl У меня не получается по аналогии добавить + product['sku'] + для отображения артикула.
     
  7. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.051
    Симпатии:
    778
    Такой переменной нет, есть $order_product['model'] и т.д.
    Ищите в контроллере /admin/controller/sale/order.php массив order_products. Строка его заполнения выглядит так:
    PHP:
    $this->data['order_products'][] = array(