Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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; первая ошибка ссылалась как раз на файл из его кэша. Кэш чистил, модификаторы обновлял, но ничего не изменилось.

 

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

Link to post
Share on other sites

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

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

 

Link to post
Share on other sites
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']
);

 

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

 

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

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

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

Link to post
Share on other sites
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-модели, но, тем не менее, рабочее.

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

Edited by walkietalkie
Link to post
Share on other sites

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']
// тута добавить
		);
	    }

 

Link to post
Share on other sites
14 минут назад, walkietalkie сказал:

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

 

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

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

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

Link to post
Share on other sites
1 час назад, fanatic сказал:

 

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.