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

Вывод поля в описании товара ( раздел категории)


Recommended Posts

Есть модификатор, добавляющий возможность вывода доп. полей товара (мультиязычный), который прекрасно работает и выводит данные в карте товара, в сравнении и других местах. Вопрос, как добавить вывод данных данного модификатора на страницу товара в категории, перед ценой товара?

Либо получаю ошибку - переменная product_id не задана, либо вывод только названия доп. поля - но вывести нормально данные так и не получилось.

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

 

opencart 2.3.0.2, vqmod не используется, изменения внесены в файлы.

 

additional_product_fields.xml

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


бо потрібно дописувати код для контролера категорії і відповідно для в’ю

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

15.01.2024 в 14:11, Flint2000 сказал:

бо потрібно дописувати код для контролера категорії і відповідно для в’ю

это как раз понятно, при добавлении кода в контроллер категории получаю Undefined index: product_id 

потому, что данную переменную получает только $data['products'][] = array( 

и больше никто, соответственно я не могу её получить $data['product_to_field'] = $this->model_catalog_product->getAdditionalProductDescriptionsbyProductId($this->request->get['product_id']); потому что она не одна, вот на этом моменте я и упёрся пока что

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


catalog - controller - product - category.php 

после 

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

добавлен код 

$data['additional_products'] = array();
			
			$additional_products = $this->model_catalog_product->getAdditionalProductes();
						
			foreach ($additional_products as $additional_product) {
				
				$data['additional_products'][] = array(
					'field' => $additional_product['name'],
					'id' => $additional_product['additional_product_id'],
					'display' => $additional_product['display']
				);
			}

в массив $data['products'][] = array(

добавлен код для передачи product_id

'product_to_field' => $this->model_catalog_product->getAdditionalProductDescriptionsbyProductId($result['product_id']),

в этот же массив добавлена передача из массива $additional_products, код

'adi_pro'     => $additional_products,

 

в catalog - view - theme - default - template - product - category.tpl

после 

<p><?php echo $product['description']; ?></p>

добавлен код поиска по массиву названия добавляемой модификатором переменно и поиск по уже другому массиву значения данной переменной

<p><?php foreach ($product['adi_pro'] as $adi_pro) { echo $adi_pro['name']; } echo " "; foreach ($product['product_to_field'] as $product_to_field) { echo $product_to_field['name']; }?></p>

спасибо перекурам, сам спросил сам ответил =)

за echo " " вместо пробела между переменными можете кидать чем угодно, работает - и пусть работает =)

 

не спорю, что явно можно было иначе, но с моими знаниями задача была вывести нужные мне данные, они выводиться, да надо добавить if на вывод если поле заполнено, будет, но это уже другая история =)

Змінено користувачем UnknownCoder
пропущена ' в коде adi_pro
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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