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

Как вывести самую минимальную цену в категории?


Recommended Posts

Как вывести самую минимальную цену из всех товаров в категории(дочерней на главной итд)?  Делал так

 

/**

* Получение минимальной цены товара в категории

*

* @file catalog/models/product.php

* @param $category_id

* @return int

*/

public function getMinPriceFromCategory($category_id)

{

$sql = 'SELECT MIN(' . DB_PREFIX . 'product.price) FROM ' . DB_PREFIX . 'product LEFT JOIN ' .

DB_PREFIX . 'product_to_category ON ' . DB_PREFIX . 'product.product_id = ' .

DB_PREFIX . 'product_to_category.product_id WHERE ' . DB_PREFIX . 'product_to_category.category_id = ' . (int)$category_id;



$query = $this->db->query($sql);

$price = $query->row['MIN(' . DB_PREFIX . 'product.price)'];



if ($price != null)

return $this->currency->format($price); else

return 0;

}



/*

И вызов в контроллере category.php



$this->data['categories'][] = array(

'min_price' => $this->model_catalog_product->getMinPriceFromCategory($result['category_id'])

);

*/

 

Ошибки вызывало, переделал под opecart 3.0.2 но ничего не выходит

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


Печалька с пониманием (но попытка была)
 

$sql = "SELECT MIN(price) as min_price FROM " . DB_PREFIX . "product p
LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON p.product_id = p2c.product_id
WHERE p2c.category_id = " . (int)$category_id;
$query = $this->db->query($sql);

$min_price = $query->row['min_price'];

 

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

46 минут назад, chukcha сказал:

$sql = "SELECT MIN(price) as min_price FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON p.product_id = p2c.product_id WHERE p2c.category_id = " . (int)$category_id; $query = $this->db->query($sql); $min_price = $query->row['min_price'];

 

т.е. я в модели product пишу 

        public function getMinPriceFromCategory($category_id)
    {
       $sql = "SELECT MIN(price) as min_price FROM " . DB_PREFIX . "product p
LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON p.product_id = p2c.product_id
WHERE p2c.category_id = " . (int)$category_id;
$query = $this->db->query($sql);

$min_price = $query->row['min_price'];
    }

 

в контроллере category.php

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

            $results = $this->model_catalog_category->getCategories($category_id);

            foreach ($results as $result) {
                $filter_data = array(
                    'filter_category_id'  => $result['category_id'],
                    'filter_sub_category' => true
                );

                $data['categories'][] = array(
                    'min_price' => $this->model_catalog_product->getMinPriceFromCategory($result['category_id']),
                    'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
                );
            }

 

но результата нет, ни так {{ min_price }} ни так <?php echo $min_price; ?>  

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


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

но результата нет, ни так {{ min_price }} ни так <?php echo $min_price; ?>

 

выше уже заметили

7 минут назад, chukcha сказал:

а где в модели return и проверка на результат

 

потом,

если движок 3х, судя по разделу - никакого php в шаблоне нет, только twig

раз вывод в цикле - то и выводить нужно с его учетом, т.е. не {{ min_price }} а скорее {{ category.min_price }}

и до кучи - при правках файлов движка нужно обновлять кеш модификаторов для применения изменений (а в 3х - еще и кеш шаблона twig, при их правках)

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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