Доброго времени. Столкнулся с проблемой, мне нужно добавить ID опции к принадлежащему ей заказу... Отредактировав файлы которые отвечают за данные строки, толку никакого не дало, получаю сплошные ошибки, каким образом это можно реализовать не могу сообразить... Возможно моя формулировка вопроса непонятна, добавляю на всякий скрины, с выделительным id и местом куда нужно запихнуть значение... ID который мне нужен... Добавить сюда... Спасибо. Извините если не в ту ветку, на форуме недавно.
в файле после Код: if ($option['type'] != 'file') { $option_data[] = array( вставить Код: 'order_id' => $option['order_id'], и в шаблоне вывести..
Похоже понял, по такому принципу я и делал, только много различных ошибок получал vqmod, не объясните пожалуйста каким образом он взаимосвязан с этим. После того как восстановил OC из коробки, при этом не установления дополнительные плагины, ошибок нету, но и не могу разобраться зачем выводить это значения внутри шаблона если мне нужно только в админ-панели? Да и что-то не удается мне получить id.
Все, я понял принцип, спасибо большое за помощь. Только вот мне нужен не order_id а option_value_id. Сейчас стараюсь подправить все, но проблема осталась, получаю ошибку undefined index: option_value_id.... Возможно не в то место я дописываю данную строчку.
Файлы которые редактирую: \upload\admin\view\template\sale\order_info.tpl (Для вывода поля внутри заказа админ панели ) и \upload\admin\controller\sale\order.php... Добавляю строку: 'option_value_id' => $option['option_value_id'], и вывожу её <?php echo $option['option_value_id']; ?>... Но получаю: undefined index: option_value_id.
Делаю таким вот образом: PHP: foreach ($options as $option) { if ($option['type'] != 'file') { $option_data[] = array( 'option_value_id' => $option['option_value_id'], 'name' => $option['name'], 'value' => $option['value'], 'type' => $option['type'] ); И вывожу: HTML: <?php foreach ($products as $product) { ?> <tr> <td class="text-left"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> <?php foreach ($product['option'] as $option) { ?> <br /> <?php if ($option['type'] != 'file') { ?> <small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small> <?php } else { ?> <small> - <?php echo $option['name']; ?>: <a href="<?php echo $option['href']; ?>"><?php echo $option['value']; ?></a></small> <?php } ?> <?php } ?></td> <td class="text-left"><?php echo $product['model']; ?></td> <td class="text-right"><?php echo $product['quantity']; ?></td> <td class="text-right"><?php echo $product['price']; ?></td> <td class="text-right"><?php echo $product['total']; ?></td> <td class="text-left"><?php echo $option['option_value_id']; ?></td> </tr> <?php } ?>
Возможно проблема в самом запросе к таблице БД, там нет нужного поля, из-за этого я получаю данную ошибку. Хотя написав запрос к БД с полем которое мне нужно, я получаю опять ошибку. Подскажите что не так делаю?... Уже второй день не могу сообразить... Помогите составить правильный запрос или же может не в запросе дело... Нужна мне таблица option_value с полем option_value_id все это описать в order.php и вывести option_value_id в заказе то есть в файле order_info.tpl. Спасибо!
вам нужен видимо product_option_value_id или может что то другое.. выбирай на выбор )) Код: 'order_option_id' => string '1' (length=1) 'order_id' => string '8' (length=1) 'order_product_id' => string '8' (length=1) 'product_option_id' => string '226' (length=3) 'product_option_value_id' => string '15' (length=2) 'name' => string 'Select' (length=6) 'value' => string 'Red' (length=3) 'type' => string 'select' (length=6) выводить в шаблоне в строчке после PHP: <?php if ($option['type'] != 'file') { ?> Проверено, все выводит.
Спасибо за ответ, но дело в том что product_option_value_id это не совсем то поле которое мне нужно, на самом деле мне нужно поле option_value_id из таблицы option_value. При выводе этого поля я и получаю ошибки. Где сделать вывод я уже разобрался. А вот как отобразить нужное поле, это на данный момент проблемка. product_option_value - там нету мне нужного значения.
а из таблицы _product_option_value столбец option_value_id не пойдет ?? Если пойдет, то просто изменить запрос в файле \admin\model\sale\order.php этот PHP: public function getOrderOptions($order_id, $order_product_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product_id . "'"); на PHP: public function getOrderOptions($order_id, $order_product_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option oo LEFT JOIN " . DB_PREFIX . "product_option_value pov ON (pov.product_option_value_id = oo.product_option_value_id) WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product_id . "'"); там возьмете option_value_id
Идеально, именно то что нужно, я не мог найти запрос который составляет эти таблицы... Благодаря Вам, теперь все работает. Таким образом, теперь я могу назначить свой уникальный код для опции, то есть при импорте я могу контролировать наличие товара на складе, так как опция это другой грубо-говоря товар, это в своем роде SKU для опции. Если я правильно разобрался с БД. Спасибо ещё раз!