[Помогите] Сделать вывод SKU товара в админке

Тема в разделе "OpenCart", создана пользователем noobie, 6 июн 2013.

  1. noobie

    noobie

    Регистрация:
    27 мар 2013
    Сообщения:
    173
    Симпатии:
    22
    Помогите реализовать вывод значения SKU товара в заказе в админке
    [​IMG][​IMG]

    Вот сюда хотелось бы.
     
  2. ashtray

    ashtray Главный по попкам!

    Регистрация:
    13 ноя 2012
    Сообщения:
    331
    Симпатии:
    70
    в bulk product сия функция есть
     
  3. noobie

    noobie

    Регистрация:
    27 мар 2013
    Сообщения:
    173
    Симпатии:
    22
    Нет это не то.

    Добавил в admin\controller\sale\order.php

    Код:
    $product_data[] = array(
    'name'	 => $product['name'],
    'model'	=> $product['model'],
    'sku'	=> $product['sku'],   <<<<<<<<<<<<<<<
    'option'   => $option_data,
    'quantity' => $product['quantity'],
    'price'	=> $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
    'total'	=> $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value'])
    );
    Добавил в admin\view\template\sale\order_info.tpl

    Код:
    <div id="tab-product" class="vtabs-content">
    		<table class="list">
    		  <thead>
    			<tr>
    			  <td class="left"><?php echo $column_product; ?></td>
    			  <td class="left"><?php echo $column_model; ?></td>
      <td class="left"><?php echo $column_sku; ?></td>   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    			  <td class="right"><?php echo $column_quantity; ?></td>
    			  <td class="right"><?php echo $column_price; ?></td>
    			  <td class="right"><?php echo $column_total; ?></td>
    			</tr>
    		  </thead>
    		  <tbody>
    			<?php foreach ($products as $product) { ?>
    			<tr>
    			  <td class="left"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
    				<?php foreach ($product['option'] as $option) { ?>
    				<br />
    				<?php if ($option['type'] != 'file') { ?>
    				&nbsp;<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
    				<?php } else { ?>
    				&nbsp;<small> - <?php echo $option['name']; ?>: <a href="<?php echo $option['href']; ?>"><?php echo $option['value']; ?></a></small>
    				<?php } ?>
    				<?php } ?></td>
    			  <td class="left"><?php echo $product['model']; ?></td>
      <td class="left"><?php echo $product['sku']; ?></td> <<<<<<<<<<<<<<<<<<<<<<<<
    			  <td class="right"><?php echo $product['quantity']; ?></td>
    			  <td class="right"><?php echo $product['price']; ?></td>
    			  <td class="right"><?php echo $product['total']; ?></td>
    			</tr>
    			<?php } ?>
    	  
    Но похоже этого недостаточно.
    Пишет ошибку Undefine variable $column_sku; admin\view\template\sale\order_info.tpl on line 293

    Подскажите как правильно?
     
  4. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    Не получится так как Вы делаете, потому что продукты берутся из таблицы order_product, ето можно увидеть в файле admin/model/sale/order.php
    вот такая функция
    PHP:
     public function getOrderProducts($order_id) {
    $query $this->db->query("SELECT * FROM " DB_PREFIX "order_product WHERE order_id = '" . (int)$order_id "'");
     
    return 
    $query->rows;
    }
    Соответственно в етой таблице нет поля sku поетому неоткуда взять значения, тут есть два варианта, либо писать дополнительную функцию, чтоб делался запрос в таблицу product и по ИД брал sku или переписать модель и контролер заказов в админке и на сайте...
    Готовое решения не пишу так как ето займет немного времени ... Вопшем наводку дал, если что допилить смогу
     
  5. ashtray

    ashtray Главный по попкам!

    Регистрация:
    13 ноя 2012
    Сообщения:
    331
    Симпатии:
    70
    чего не то?
    самое то!
    [​IMG]
     
  6. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
  7. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    ГорМастер, Причем там новое поле для товара или подобное?
    Нужно вывести Артикль на страннице просмотра заказов в админке, если Вы не читали что я выше написал то не о чем и говорить...
    Продукты в формируются для етой странницы исходя из таблице в БД order_product
    а в ней соответственно нет столбика с артиклем, а добавляется туда данные когда клиент делает заказ, тогда короткие данние пишутся именно в таблицу без артикля!!! order_product нужно быть не знаю кем чтоб проделывать доп поле для админки и сайта одновременно да еще не просто так...
    Дал наводку, нужно написать функцию в модели ордер.пхп чтоб доставала из таблицы product артикль исходя из ИД товара в заказе, и логику в контролере ну и наконец вывести ето дело.
    Так я думаю будет куда проще, с одной стороны плохо когда много товаров например 100 к, тогда будет дополнительная нагрузка на БД при вытаскивании пртикля из таблицы product. Но все же хорошо, проще и логично если товаров мало, например 100, так как заказов может быть и 100 к тоесть записей в таблице order_product будет 100 к, и тут уже не сильно перегрузим БД своей ф-й, хотя обращаться в order_product будем... но тут дело не в етом...