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

Вывести баллы справа от опций во фронтенде


Recommended Posts

Доброго времени суток!

 

Друзья, подскажите, пожалуйста, с таким моментом. Переделал поле Баллы в опциях под хранение текстовой информации. Теперь текст, .хранящийся в этом поле, нужно вывести на сайт справа от опции. Я пробовал два варианта:

<?php if ($option_value['points']) { ?>
	(<?php echo $option_value['points']; ?>)
<?php } ?>

 и такой:

<?php if ($points) { ?>
	<li><?php echo $text_points; ?> <?php echo $points; ?></li>
<?php } ?>

Первый вариант дал ошибку Undefined index in... Второй - вообще ничего. Ни ошибок, ни текста не видно. На всякий случай уточню, что использую vQmod; первая ошибка ссылалась как раз на файл из его кэша. Кэш чистил, модификаторы обновлял, но ничего не изменилось.

 

Жду ваших советов, спасибо заранее

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


а в контроллере?

$product_option_value_data[] = array(
	'product_option_value_id' => $option_value['product_option_value_id'],
	'option_value_id'         => $option_value['option_value_id'],
	'name'                    => $option_value['name'],
	'image'                   => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '',
	'price'                   => $price,
	'price_prefix'            => $option_value['price_prefix'],
	'points'                  => $option_value['points'],
	'points_prefix'           => $option_value['points_prefix']
);

 

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

1 час назад, fanatic сказал:

а в контроллере?


$product_option_value_data[] = array(
	'product_option_value_id' => $option_value['product_option_value_id'],
	'option_value_id'         => $option_value['option_value_id'],
	'name'                    => $option_value['name'],
	'image'                   => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '',
	'price'                   => $price,
	'price_prefix'            => $option_value['price_prefix'],
	'points'                  => $option_value['points'],
	'points_prefix'           => $option_value['points_prefix']
);

 

За это совсем не подумал. Спасибо! Попробую и отпишусь

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


3 часа назад, walkietalkie сказал:

та же самая ошибка ссылается на файл product.php

 

4 часа назад, walkietalkie сказал:

За это совсем не подумал.

а теперь, подумайте о модели  catalog/model/catalog/product.php   метод  getProductOption

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

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

 

а теперь, подумайте о модели  catalog/model/catalog/product.php   метод  getProductOption

Я открывал модель, но не разобрался, куда там копать. Так что сделал иначе. Возможно, сложнее, но лично мне так разобраться было проще

Во вьюшке в product.php добавил php-код, который подключается к базе данных, и в этом коде сформировал SQL-запрос

<?php
	$host = "localhost";
	$user = "user";
	$password = "password";
	$mysqli = new mysqli($host, $user, $password, $user);
	$povi = $option_value['product_option_value_id'];
	$q = $mysqli->query("SELECT `points` FROM `oc_product_option_value` WHERE `product_option_value_id`=$povi");
	while($row = mysqli_fetch_row($q)){
		echo '<span>Размер: ', "$row[0]", '</span>';
	}
?>

Понимаю, решение не самое изящное и верное в случае MVC-модели, но, тем не менее, рабочее.

В любом случае, вам спасибо за то, что отозвались на мой зов :)

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


10 минут назад, walkietalkie сказал:

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

public function getProductOptions($product_id) {
	$product_option_data = array();

	$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int) $product_id . "' AND od.language_id = '" . (int) $this->config->get('config_language_id') . "' ORDER BY o.sort_order");

	foreach ($product_option_query->rows as $product_option) {
	    $product_option_value_data = array();

	    $product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int) $product_id . "' AND pov.product_option_id = '" . (int) $product_option['product_option_id'] . "' AND ovd.language_id = '" . (int) $this->config->get('config_language_id') . "' ORDER BY ov.sort_order");

	    foreach ($product_option_value_query->rows as $product_option_value) {
		$product_option_value_data[] = array(
		    'product_option_value_id' => $product_option_value['product_option_value_id'],
		    'option_value_id' => $product_option_value['option_value_id'],
		    'name' => $product_option_value['name'],
		    'image' => $product_option_value['image'],
		    'quantity' => $product_option_value['quantity'],
		    'subtract' => $product_option_value['subtract'],
		    'price' => $product_option_value['price'],
		    'price_prefix' => $product_option_value['price_prefix'],
		    'weight' => $product_option_value['weight'],
		    'weight_prefix' => $product_option_value['weight_prefix']
// тута добавить
		);
	    }

 

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

14 минут назад, walkietalkie сказал:

Во вьюшке в product.php

 

18 минут назад, walkietalkie сказал:

решение не самое изящное и верное в случае MVC-модели

совсем не верное.  и не только в mvc, а в принципе

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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