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

[РЕШЕНО] Вывод артикула (SKU) в категориях opencart 2.0.3.1


Recommended Posts

Ребят подскажите как вывести на странице категорий в карте 2.0.3.1 поле sku. Пытаюсь использовать его как текстовое поле для вывода возле цены стоимость за шт,уп  и тд... В самой карточке товара вывел без особых проблем 

catalog/controller/product/product.php

$data['model'] = $product_info['model'];
$data['sku'] = $product_info['sku'];
$data['reward'] = $product_info['reward'];

catalog/view/theme/*template/product/product.php

<?php echo $price; ?><?php echo $sku; ?>

 

Но вот в категориях по аналогии  не работает. Реализовывал ли кто нибудь вывод поля sku в товар в категориях  товаров  на opencart 2.0.3.1?

Змінено користувачем Foxis
  • +1 1
Надіслати
Поділитися на інших сайтах


Щас это выглядит вот так

Контроллер

$data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
'price' => $price,
'sku' => (empty($result['sku'])) ? '' : $this->language->get('text_sku') .' '. $result['sku'],
'special' => $special,
'tax' => $tax,
'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,
'rating' => $result['rating'],
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);

Язык

$_['text_points'] = 'Бонусные баллы:';
$_['text_price'] = 'Цена:';
$_['text_sku'] = 'SKU (Артикул):';
$_['text_tax'] = 'Без НДС:';

Вывод возле цены

<?php if (!$product['special']) { ?>
 <?php echo $product['price']; ?><?php echo $product['sku']; ?>
 <?php } else { ?>
 <span class="price-old"><?php echo $product['price']; ?></span><span class="price-new"><?php echo $product['special']; ?></span> 
 <?php } ?>
 <?php if ($product['tax']) { ?>
 <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
 <?php } ?>

Итог

dad4067daee3.png

 

Что я делаю не так

 

Вот так уже тоже пробовал... Эффект тот же

Змінено користувачем Foxis
Надіслати
Поділитися на інших сайтах


<?xml version="1.0" encoding="utf-8"?>
<modification>
<name>SKU in Store</name>
<version>1.0</version>
<code>SKU in Cart</code>
<author>Otvet</author>
	<file path="catalog/controller/product/category.php,catalog/controller/product/manufacturer.php,catalog/controller/product/search.php">
		<operation>
			<search><![CDATA[
			'name'        => $result['name'],
			]]></search>
			<add position="after"><![CDATA[
			'sku'         => (empty($result['sku'])) ? '' : $result['sku'],
			'location'         => $result['location'],
			'upc'         => $result['upc'],
			]]></add>
		</operation>
	</file>
	<file path="system/library/cart.php">
		<operation>
			<search><![CDATA[
			'model'           => $product_query->row['model'],
			]]></search>
			<add position="after"><![CDATA[
			'sku'			 => $product_query->row['sku'],
			]]></add>
		</operation>
	</file>
	<file path="catalog/controller/checkout/cart.php">
		<operation>
			<search><![CDATA[
			'model'     => $product['model'],
			]]></search>
			<add position="after"><![CDATA[
			'sku'	 => $product['sku'],
			]]></add>
		</operation>
	</file>
	<file path="catalog/controller/checkout/simplecheckout*.php">
		<operation>
			<search><![CDATA[
			'model'     => $product['model'],
			]]></search>
			<add position="after"><![CDATA[
			'sku'	 => $product['sku'],
			]]></add>
		</operation>
	</file>	
</modification>

думаю разберетесь каков принцип, подгоните под себя, в шаблоне уже ручками

Змінено користувачем Otvet
  • +1 1
Надіслати
Поділитися на інших сайтах

Как то всё слишком "заморочено"...

 

1) Открываем файл catalog/controller/product/category.php и после строки:

$data['text_tax'] = $this->language->get('text_tax');

Добавляем:

$data['text_sku'] = $this->language->get('text_sku');

В этом же файле (ниже), находим строку:  

'name'        => $result['name'],

После неё добавляем:

'sku'         => $result['sku'],

2) Открываем все языковые файлы catalog/language/russian/product/category.php и добавляем в них строку с переводом:

$_['text_sku']          = 'Артикул:';

3) Открываем файл шаблона catalog/view/theme/ВАША_ТЕМА/template/product/category.tpl и добавляем (куда хотим) вывод SKU с проверкой:

<?php if ($product['sku']) { ?>
<?php echo $text_sku; ?><?php echo $product['sku']; ?>
<?php } ?>

Всё.

post-5473-0-65231300-1440545455_thumb.png

  • +1 5
Надіслати
Поділитися на інших сайтах

а в 1.5.5.1 так же все ?

Как то всё слишком "заморочено"...

1) Открываем файл catalog/controller/product/category.php и после строки:
$data['text_tax'] = $this->language->get('text_tax');
Добавляем:
$data['text_sku'] = $this->language->get('text_sku');
В этом же файле (ниже), находим строку:
'name' => $result['name'],
После неё добавляем:
'sku' => $result['sku'],
2) Открываем все языковые файлы catalog/language/russian/product/category.php и добавляем в них строку с переводом:
$_['text_sku'] = 'Артикул:';
3) Открываем файл шаблона catalog/view/theme/ВАША_ТЕМА/template/product/category.tpl и добавляем (куда хотим) вывод SKU с проверкой:



Всё.

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


  • 5 months later...

По такому принципу не получилось вывести адтикул в админке, при просмотре заказа.

Добавлял в admin/controller/sale/order.php и в шаблон admin/view/template/sale/order_info.tpl

 

Подскажите, пожалуйста, как можно вывести артикулы при просмотре товаров заказа ( /admin/index.php?route=sale/order/info )

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


Спасибо! То что нужно!

только свои правки из файлов уберите, если вносили - во избежание конфликтов

лучше всего - замените оригинальными из дистрибутива

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

  • 2 months later...
  • 2 months later...
В 20.05.2017 в 15:58, arigami25 сказал:

а как это сделать в версии 2,3 в карточке товара не появляется. После выполнение того что написано топикмастером

 

1. Чтобы исключить ошибку при выводе, нужно в этом же файле:

 

Найти

$data['model'] = $product_info['model'];

Добавить ниже

$data['sku'] = $product_info['sku'];

 

2. Далее для вывода в шаблон используйте следующий код:

 

<?php if ($sku) { ?>
	<?php echo $text_sku; ?><?php echo $sku; ?>
<?php } ?>

 

Проверено на версиях от OpenCart 2.3

Змінено користувачем IGMDesign
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
В 14.08.2017 в 10:46, IGMDesign сказал:

 

1. Чтобы исключить ошибку при выводе, нужно в этом же файле:

 

Найти


$data['model'] = $product_info['model'];

Добавить ниже


$data['sku'] = $product_info['sku'];

 

2. Далее для вывода в шаблон используйте следующий код:

 


<?php if ($sku) { ?>
	<?php echo $text_sku; ?><?php echo $sku; ?>
<?php } ?>

 

Проверено на версиях от OpenCart 2.3

А можно немного поподробнее с версией 2.3. В файле catalog/controller/product/category.php такой строки нет

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


  • 2 weeks later...
В 03.09.2017 в 10:04, Yermakoff сказал:

А можно немного поподробнее с версией 2.3. В файле catalog/controller/product/category.php такой строки нет

 

Должно быть, как раз таки на 2.3 и сам правил :) 

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


  • 2 years later...
  • 10 months later...

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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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