Перейти к содержанию
DIAF

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

Рекомендуемые сообщения

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

в файле order_form

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это шаблон, а я имел в виду саму страницу, т.е. содержимое переменной <?php echo $order_product['image']; ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вроде контролере прописала может пропустила что

не посмотрите ?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код в 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код в code.

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

 

а точно здесь, речь ведь про админку была? или я чего не понял..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а точно здесь, речь ведь про админку была? или я чего не понял..

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

заинтриговали, пойду гляну :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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.