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

Помогите вывести $model в рекомендуемых товарах (не модуль)


odministrator

Recommended Posts

Доброго времени. Помогите, кто чем сможет. Opencart 2.3.0.2

Необходимо вывести модель в "Рекомендуемые товары", те рекомендуемые, что мы в админке в связях для каждого товара выбираем.

Я Смог вывести это везде, где хотел - в модулях, в категориях, но не могу только тут. Делаю так же, как и в остальных модулях:

1. Файл /catalog/controller/product/product.php Добавляю

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

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

И после 

$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],

пишу 

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

2. Файл /catalog/view/theme/storeset/template/product/product.tpl Добавляю после:

<?php foreach ($products as $product) { ?>
			<div class="item">
				<?php if ($product['product_stickers']) { ?>
				<div class="sticker-box-cat">
					<?php foreach ($product['product_stickers'] as $product_sticker) { ?>
					<span class="stickers-cat" style="color: <?php echo $product_sticker['color']; ?>; background: <?php echo $product_sticker['background']; ?>;">
					<?php echo $product_sticker['text']; ?>
					</span>
					<?php } ?>
				</div>
				<?php } ?>
				<?php if ($product['thumb']) { ?>
				<div class="image">
					<a href="<?php echo $product['href']; ?>">
					<img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" />
					</a>
				</div>
				<?php } ?>
				<?php if($product['quantity'] > 0) { ?>
				<div class="cart">
					<a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button-cart" title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-cart" aria-hidden="true"></i></a>
					<a onclick="addToWishList('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_wishlist; ?>" class="wishlist"><i class="fa fa-heart-o" aria-hidden="true"></i></a>
					<a onclick="addToCompare('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_compare; ?>" class="compare"><i class="fa fa-exchange" aria-hidden="true"></i></a>
				</div>
				<?php } else {  ?>
				<a class="out-of-stock-button" href="javascript: void(0);" <?php if ($product['product_preorder_status'] == 1) { ?>onclick="get_oct_product_preorder('<?php echo $product['product_id']; ?>'); return false;"<?php } ?>><?php echo $product['product_preorder_text']; ?></a>
				<?php }  ?>
				<div class="clearfix"></div>
				<div class="name">
					<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
					
				</div>

следующее 

<div class="category-list-item" style="margin-top: -5px;">
				<?php echo $text_model; ?><?php echo $product['model']; ?></div>

3. Файл /catalog/view/theme/storeset/template/product/product_related.tpl Так же после

<?php foreach ($products as $product) { ?>
    			<div class="item">
    				<?php if ($product['product_stickers']) { ?>
    				<div class="sticker-box-cat">
    					<?php foreach ($product['product_stickers'] as $product_sticker) { ?>
    					<span class="stickers-cat" style="color: <?php echo $product_sticker['color']; ?>; background: <?php echo $product_sticker['background']; ?>;">
    					<?php echo $product_sticker['text']; ?>
    					</span>
    					<?php } ?>
    				</div>
    				<?php } ?>
    				<?php if ($product['thumb']) { ?>
    				<div class="image">
    					<a href="<?php echo $product['href']; ?>">
    					<img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" />
    					</a>
    				</div>
    				<?php } ?>
    				<?php if($product['quantity'] > 0) { ?>
    				<div class="cart">
    					<a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button-cart" title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-cart" aria-hidden="true"></i></a>
    					<a onclick="addToWishList('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_wishlist; ?>" class="wishlist"><i class="fa fa-heart-o" aria-hidden="true"></i></a>
    					<a onclick="addToCompare('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_compare; ?>" class="compare"><i class="fa fa-exchange" aria-hidden="true"></i></a>
    				</div>
    				<?php } else {  ?>
    				<a class="out-of-stock-button" href="javascript: void(0);" <?php if ($product['product_preorder_status'] == 1) { ?>onclick="get_oct_product_preorder('<?php echo $product['product_id']; ?>'); return false;"<?php } ?>><?php echo $product['product_preorder_text']; ?></a>
    				<?php }  ?>
    				<div class="clearfix"></div>
    				<div class="name">
    					<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
    				</div>

Добавил 

<div class="category-list-item" style="margin-top: -5px;">

				<?php echo $text_model; ?><?php echo $product['model']; ?>
				</div>

В итоге ругается на строку в файле /catalog/view/theme/storeset/template/product/product_related.tpl в которой пхп код model

Код товара:<b>Notice</b>: Undefined index: model in <b>....../catalog/view/theme/storeset/template/product/product_related.tpl</b> on line <b>49</b>	

Что и где не так? Устал искать. Помогите, прошу!

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


обновите кеш модов

 

или product_related не тот шаблон, в опенкарте рекомендуемые выводятся в product.tpl обычно

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

33 минуты назад, odministrator сказал:

Доброго времени. Помогите, кто чем сможет. Opencart 2.3.0.2

Необходимо вывести модель в "Рекомендуемые товары", те рекомендуемые, что мы в админке в связях для каждого товара выбираем.

Я Смог вывести это везде, где хотел - в модулях, в категориях, но не могу только тут. Делаю так же, как и в остальных модулях:

1. Файл /catalog/controller/product/product.php Добавляю


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

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

И после 


$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],

пишу 


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

2. Файл /catalog/view/theme/storeset/template/product/product.tpl Добавляю после:


<?php foreach ($products as $product) { ?>
			<div class="item">
				<?php if ($product['product_stickers']) { ?>
				<div class="sticker-box-cat">
					<?php foreach ($product['product_stickers'] as $product_sticker) { ?>
					<span class="stickers-cat" style="color: <?php echo $product_sticker['color']; ?>; background: <?php echo $product_sticker['background']; ?>;">
					<?php echo $product_sticker['text']; ?>
					</span>
					<?php } ?>
				</div>
				<?php } ?>
				<?php if ($product['thumb']) { ?>
				<div class="image">
					<a href="<?php echo $product['href']; ?>">
					<img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" />
					</a>
				</div>
				<?php } ?>
				<?php if($product['quantity'] > 0) { ?>
				<div class="cart">
					<a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button-cart" title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-cart" aria-hidden="true"></i></a>
					<a onclick="addToWishList('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_wishlist; ?>" class="wishlist"><i class="fa fa-heart-o" aria-hidden="true"></i></a>
					<a onclick="addToCompare('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_compare; ?>" class="compare"><i class="fa fa-exchange" aria-hidden="true"></i></a>
				</div>
				<?php } else {  ?>
				<a class="out-of-stock-button" href="javascript: void(0);" <?php if ($product['product_preorder_status'] == 1) { ?>onclick="get_oct_product_preorder('<?php echo $product['product_id']; ?>'); return false;"<?php } ?>><?php echo $product['product_preorder_text']; ?></a>
				<?php }  ?>
				<div class="clearfix"></div>
				<div class="name">
					<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
					
				</div>

следующее 


<div class="category-list-item" style="margin-top: -5px;">
				<?php echo $text_model; ?><?php echo $product['model']; ?></div>

3. Файл /catalog/view/theme/storeset/template/product/product_related.tpl Так же после


<?php foreach ($products as $product) { ?>
    			<div class="item">
    				<?php if ($product['product_stickers']) { ?>
    				<div class="sticker-box-cat">
    					<?php foreach ($product['product_stickers'] as $product_sticker) { ?>
    					<span class="stickers-cat" style="color: <?php echo $product_sticker['color']; ?>; background: <?php echo $product_sticker['background']; ?>;">
    					<?php echo $product_sticker['text']; ?>
    					</span>
    					<?php } ?>
    				</div>
    				<?php } ?>
    				<?php if ($product['thumb']) { ?>
    				<div class="image">
    					<a href="<?php echo $product['href']; ?>">
    					<img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" />
    					</a>
    				</div>
    				<?php } ?>
    				<?php if($product['quantity'] > 0) { ?>
    				<div class="cart">
    					<a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button-cart" title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-cart" aria-hidden="true"></i></a>
    					<a onclick="addToWishList('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_wishlist; ?>" class="wishlist"><i class="fa fa-heart-o" aria-hidden="true"></i></a>
    					<a onclick="addToCompare('<?php echo $product['product_id']; ?>');"  title="<?php echo $button_compare; ?>" class="compare"><i class="fa fa-exchange" aria-hidden="true"></i></a>
    				</div>
    				<?php } else {  ?>
    				<a class="out-of-stock-button" href="javascript: void(0);" <?php if ($product['product_preorder_status'] == 1) { ?>onclick="get_oct_product_preorder('<?php echo $product['product_id']; ?>'); return false;"<?php } ?>><?php echo $product['product_preorder_text']; ?></a>
    				<?php }  ?>
    				<div class="clearfix"></div>
    				<div class="name">
    					<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
    				</div>

Добавил 


<div class="category-list-item" style="margin-top: -5px;">

				<?php echo $text_model; ?><?php echo $product['model']; ?>
				</div>

В итоге ругается на строку в файле /catalog/view/theme/storeset/template/product/product_related.tpl в которой пхп код model


Код товара:<b>Notice</b>: Undefined index: model in <b>....../catalog/view/theme/storeset/template/product/product_related.tpl</b> on line <b>49</b>	

Что и где не так? Устал искать. Помогите, прошу!

В Модификаторе oct_shopstore_100.ocmod.xml, строчка, примерно 1036 нужно тоже добавить:

'model'   	=> $result['model']

И обновить кэш модификаторов

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

Кэш, естественно обновляю. в oct_shopstore_100.ocmod.xml добавил. Не произошло чуда.

Кэш так же обновил

if ($product_data_related) {
            $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);

            $product_auto_related_data = $this->config->get('product_auto_related_data');

            if (isset($product_auto_related_data) && $product_auto_related_data['status'] != 0) {
              // $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);
              // product_auto_related start
              $product_auto_related_data = $this->config->get('product_auto_related_data');


              $this->load->model('extension/module/product_auto_related');

              $data_info = array(
                'product_id'          => $this->request->get['product_id'],
				'model'   	=> $result['model'], //ДОБАВИЛ!!!
                'sort'                => 'p.product_id',
                'filter_category_id'  => (isset($category_id)) ? $category_id : 0,
                'filter_sub_category' => 1,
                'order'               => 'DESC',
                'start'               => 0,
                'limit'               => $product_auto_related_data['limit']
              );

 

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


57 минут назад, spectre сказал:

обновите кеш модов

 

или product_related не тот шаблон, в опенкарте рекомендуемые выводятся в product.tpl обычно

И там и там необходимо выводить. Чтобы при обновлении страницы данные не терялись

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


33 минуты назад, Fedka сказал:

В Модификаторе oct_shopstore_100.ocmod.xml, строчка, примерно 1036 нужно тоже добавить:


'model'   	=> $result['model']

И обновить кэш модификаторов

Плюс в карточке такое еще вышло /system/storage/modification/catalog/controller/product/product.php on line 845

Вот эта строка, естественно:

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

 

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


Почистите еще кэш с папки system/storage/cache

Или зайдите в модуль "Авторекомендуемые" в админке и там есть кнопка очистки кэша.

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

17 минут назад, Fedka сказал:

Почистите еще кэш с папки system/storage/cache

Или зайдите в модуль "Авторекомендуемые" в админке и там есть кнопка очистки кэша.

Сделал. Не помогло. 

В "Авторекомендуемые" нет кнопки чистки кэша

Скрин

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


9 минут назад, odministrator сказал:

Еще я читал, что можно заменить


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

на 


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

Может так попробовать, и если да, то везде менять?

 

Не, там именно $result

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

50 минут назад, odministrator сказал:

Кэш, естественно обновляю. в oct_shopstore_100.ocmod.xml добавил. Не произошло чуда.

Кэш так же обновил


if ($product_data_related) {
            $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);

            $product_auto_related_data = $this->config->get('product_auto_related_data');

            if (isset($product_auto_related_data) && $product_auto_related_data['status'] != 0) {
              // $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);
              // product_auto_related start
              $product_auto_related_data = $this->config->get('product_auto_related_data');


              $this->load->model('extension/module/product_auto_related');

              $data_info = array(
                'product_id'          => $this->request->get['product_id'],
				'model'   	=> $result['model'], //ДОБАВИЛ!!!
                'sort'                => 'p.product_id',
                'filter_category_id'  => (isset($category_id)) ? $category_id : 0,
                'filter_sub_category' => 1,
                'order'               => 'DESC',
                'start'               => 0,
                'limit'               => $product_auto_related_data['limit']
              );

 

 

Вы не туда вставили model

Его нужно вставлять в массив

$data['products'][] = array(

После, к примеру

 

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

А туда где Вы вставили удалите.

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

6 часов назад, Fedka сказал:

 

Вы не туда вставили model

Его нужно вставлять в массив


$data['products'][] = array(

После, к примеру

 


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

А туда где Вы вставили удалите.

Ну да. 1036 и Вы и поддержка сказала 1034-1056 строка (Хотя может Вы и есть тот Олег))). А по факту то, о чем Вы говорите сейчас - это 1006 строка. Вставил, Заработало. Спасибо!

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


42 минуты назад, odministrator сказал:

Хотя может Вы и есть тот Олег

Не, я не Олег.

 

42 минуты назад, odministrator сказал:

Ну да. 1036 и Вы и поддержка сказала 1034-1056 строка

 

У меня в модификаторе, просто, это 1036 строчка была.

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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