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

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

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

Доброго времени. Помогите, кто чем сможет. 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

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

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

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

Скрин

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


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

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

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

на 

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, odministrator сказал:

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


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

на 


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

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

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Fedka сказал:

 

Не, там именно $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 пользователей онлайн

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

×

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

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