Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Артикул при редакции заказа (добавление )


Recommended Posts

Ребята не подскажите что я пропустила

Я добавила артикул и картинку order_form.php 

Если добавляю товар то я вложила картинку не отображается артикул и картинка 

 

post-669131-0-38283000-1435140995_thumb.jpg

Надіслати
Поділитися на інших сайтах


начать с того, что посмотреть какая ссылка на картинку img src=.... получилась и сравнить с той, которая должна быть

в файле order_form

<td class="left"><img src="<?php echo $order_product['image']; ?>" style="padding: 1px; border: 1px solid #DDDDDD;"></td>

Надіслати
Поділитися на інших сайтах


как уже отметил nikifalex - в шаблоне order_form.tpl идет вывод данных

чтобы было что выводить - сначала нужно это что-то получить в файле модели, потом обработать в файле контроллера

 

в данном случае модель трогать не нужно, все что нужно - id товара - уже есть

остается только добавить нужные данные (изображение товара и его артикул) в метод getForm() в файле admin\controller\sale\order.php

Надіслати
Поділитися на інших сайтах

в целом мысль правильная, только реализация не совсем верная - массив $order_product знать не знает про существование sku и image

поэтому нужно немного схитрить - из $order_product брать id интересующего товара, а уже потом по id получить желаемые данные

 

в файле admin\controller\sale\order.php

1) перед строкой

        foreach ($order_products as $order_product) {

добавить

                $this->load->model('catalog/product');
                $this->load->model('tool/image');

2) перед строкой

            $this->data['order_products'][] = array(

добавить

                $order_product2 = $this->model_catalog_product->getProduct($order_product['product_id']);

3) после строки

                'model'            => $order_product['model'],

добавить

                'sku'              => $order_product2['sku'],
                'image'          => $this->model_tool_image->resize($order_product2['image'], 40, 40),

должно помочь ;)

Надіслати
Поділитися на інших сайтах

У меня не отображается артикул и картинка тогда когда я нажила кнопку добавить товар,а при просмотре и при открытие редактирования у меня все отображается 


я нашла код в файле order_form.php не знаю откуда идет контроль этого кода 


вроде все добавила и ничего 


if (json['order_product'] != '') {

var product_row = 0;

var option_row = 0;

var download_row = 0;

 

html = '';

 

for (i = 0; i < json['order_product'].length; i++) {

product = json['order_product'];

 

html += '<tr id="product-row' + product_row + '">';

html += '  <td class="center" style="width: 3px;"><img src="view/image/delete.png" title="<?php echo $button_remove; ?>" alt="<?php echo $button_remove; ?>" style="cursor: pointer;" onclick="$(\'#product-row' + product_row + '\').remove(); $(\'#button-update\').trigger(\'click\');" /></td>';

html +='   <td class="left"><img src="' + product['image'] + '" style="padding: 1px; border: 1px solid #DDDDDD;"></td>';

html += '  <td class="left">' + product['name'] + '<br /><input type="hidden" name="order_product[' + product_row + '][order_product_id]" value="" /><input type="hidden" name="order_product[' + product_row + '][product_id]" value="' + product['product_id'] + '" /><input type="hidden" name="order_product[' + product_row + '][name]" value="' + product['name'] + '" />';

 

if (product['option']) {

for (j = 0; j < product['option'].length; j++) {

option = product['option'][j];

 

html += '  - <small>' + option['name'] + ': ' + option['value'] + '</small><br />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][order_option_id]" value="' + option['order_option_id'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][product_option_id]" value="' + option['product_option_id'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][product_option_value_id]" value="' + option['product_option_value_id'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][name]" value="' + option['name'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][value]" value="' + option['value'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_option][' + option_row + '][type]" value="' + option['type'] + '" />';

 

option_row++;

}

}

 

if (product['download']) {

for (j = 0; j < product['download'].length; j++) {

download = product['download'][j];

 

html += '  <input type="hidden" name="order_product[' + product_row + '][order_download][' + download_row + '][order_download_id]" value="' + download['order_download_id'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_download][' + download_row + '][name]" value="' + download['name'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_download][' + download_row + '][filename]" value="' + download['filename'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_download][' + download_row + '][mask]" value="' + download['mask'] + '" />';

html += '  <input type="hidden" name="order_product[' + product_row + '][order_download][' + download_row + '][remaining]" value="' + download['remaining'] + '" />';

 

download_row++;

}

}

 

html += '  </td>';

html += '  <td class="left">' + product['model'] + '<input type="hidden" name="order_product[' + product_row + '][model]" value="' + product['model'] + '" /></td>';

html += '  <td class="left">' + product['sku'] + '<input type="hidden" name="order_product[' + product_row + '][sku]" value="' + product['sku'] + '" /></td>';

html += '  <td class="right">' + product['quantity'] + '<input type="hidden" name="order_product[' + product_row + '][quantity]" value="' + product['quantity'] + '" /></td>';

html += '  <td class="right">' + product['price'] + '<input type="hidden" name="order_product[' + product_row + '][price]" value="' + product['price'] + '" /></td>';

html += '  <td class="right">' + product['total'] + '<input type="hidden" name="order_product[' + product_row + '][total]" value="' + product['total'] + '" /><input type="hidden" name="order_product[' + product_row + '][tax]" value="' + product['tax'] + '" /><input type="hidden" name="order_product[' + product_row + '][reward]" value="' + product['reward'] + '" /></td>';

html += '</tr>';

 

product_row++;

}

 

$('#product').html(html);

} else {

html  = '</tr>';

html += '  <td colspan="6" class="center"><?php echo $text_no_results; ?></td>';

html += '</tr>';

 

$('#product').html(html);

}
Надіслати
Поділитися на інших сайтах


код в code.

обрабатывается это все в catalog/controller/checkout/manual.php

я добавила $this->load->model('tool/image'); и 'image'     => $this->model_tool_image->resize($product['image'], 40, 40), и 'sku'        => $product['sku'],

 а вот артикул не хочет 

выходит ошибка

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

 
OK
 
<b>Notice</b>: Undefined index: sku in <b>/home/mysite/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_manual.php</b> on line <b>174</b><b>Notice</b>: Undefined index: sku in <b>/home/mysite/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_manual.php</b> on line <b>174</b>
Змінено користувачем DIAF
Надіслати
Поділитися на інших сайтах


заинтриговали, пойду гляну :ugeek:

$json['order_product'][] = array(
'product_id' => $product['product_id'],
'name'       => $product['name'],
'image'     => $this->model_tool_image->resize($product['image'], 40, 40),
'model'      => $product['model'], 
'sku'      => $product['sku'], 
'option'     => $option_data,
'download'   => $download_data,
'quantity'   => $product['quantity'],
'price'      => $product['price'],
'total'      => $product['total'],
'tax'        => $this->tax->getTax($product['price'], $product['tax_class_id']),
'reward'     => $product['reward']
);
}
Змінено користувачем DIAF
Надіслати
Поділитися на інших сайтах


этот manual.php это наказание всех программистов опенкарта. И да, через него редактируется заказ в админке. Людям с неустойчивой психикой и склонным к суициду смотреть код файла не рекомендуется. :cry:  :cry:

Надіслати
Поділитися на інших сайтах


DIAF, КОД и ошибки В CODE!

каталог, по-умолчанию, знать не знает об артикулах в товарах.

добавь в модели передачу его в контроллеры (поиск в помощь).

AlexDW, точно.

nikifalex, нормальный там код.

и все правильно сделано - чтобы все данные по заказу считались для конкретного покупателя (группа, скидки, цены, доставки, итпд).

Надіслати
Поділитися на інших сайтах

DIAF, КОД и ошибки В CODE!

каталог, по-умолчанию, знать не знает об артикулах в товарах.

добавь в модели передачу его в контроллеры (поиск в помощь).

AlexDW, точно.

nikifalex, нормальный там код.

и все правильно сделано - чтобы все данные по заказу считались для конкретного покупателя (группа, скидки, цены, доставки, итпд).

в каком файле ?

Надіслати
Поділитися на інших сайтах


AlexDW, точно.

 

да, уже понял

 

добился вывода sku и картинки, сейчас разбираю затык на мультимагазине

если заказ сделан через магазин, отличный от дефолтного (оптовый) - при первой загрузке картинки берутся из дефолтного магазина

а вот при добавлении товара/обновлении - адрес картинок переправляется на оптовый

 

ситуация стала напоминать анекдот про лампочку во рту :-D

Надіслати
Поділитися на інших сайтах

по итогу, кому нужно - вот готовое решение по добавлению sku и изображения товара в форму правки заказа в админке

работает через vqmod, проверено на ocstore 1.5.5.1.2 ;)

Надіслати
Поділитися на інших сайтах

Спасибо огромное за файл


но не знаю где ошибка все равно у меня при добавлении выдает эту ошибку 


кэш чистила артикул просто не хочет и все тут 


 


 


SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

 

OK

 

<b>Notice</b>: Undefined index: sku in <b>/home/---/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_manual.php</b> on line <b>174</b><b>Notice</b>: Undefined index: sku in <b>/home/---/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_manual.php</b> on line <b>174</b>

Надіслати
Поділитися на інших сайтах


для того чтоб файл заработал

1) замените свои исправленные файлы аналогичными чистыми из вашего дистрибутива (возможно где-то что-то не убрали)

2) для чистки кеша vqmod удалить содержимое папки vqmod/vqcache и удалить файл vqmod/mods.cache

 

не забывайте смотреть логи vqmod и журнал ошибок если какой-то мод не работает ;)

Надіслати
Поділитися на інших сайтах

для того чтоб файл заработал

1) замените свои исправленные файлы аналогичными чистыми из вашего дистрибутива (возможно где-то что-то не убрали)

2) для чистки кеша vqmod удалить содержимое папки vqmod/vqcache и удалить файл vqmod/mods.cache

 

не забывайте смотреть логи vqmod и журнал ошибок если какой-то мод не работает ;)

Все сделала как вы сказали все равно выходит ошибка 

Надіслати
Поділитися на інших сайтах


проклятый склероз!

у меня модуль OrderField установлен, он необходимые изменения вносит, забыл про него совсем :ugeek:

 

вот исправленная версия, должно помочь

order-form-image-sku.xml

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.