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

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

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

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

 

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

<?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']
);

 

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

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


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

Добавил. Теперь та же самая ошибка ссылается на файл product.php в папке controller.

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


Ссылка на сообщение
Поделиться на другие сайты
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, а в принципе

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


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

 

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

Спасибо Вам за помощь еще раз!

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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