Jump to content


Photo
- - - - -

Отображение товаров на сайте по начальному условию


Best Answer SmetDenis , 03 August 2016 - 07:48

Хак я делал в этом файле

jbuniversal\elements\jbprice\jbprice.php

t22t_200x0.png

        if ($this->app->jbrequest->get('task') == 'filter') {

            $sql = new JBDatabaseQuery(JFactory::getDbo());
            $sql
                ->select('tSku.variant')
                ->from(ZOO_TABLE_JBZOO_SKU . ' AS tSku')
                ->where('tSku.item_id = ?', $this->getItem()->id)
                ->where('tSku.param_id = ?', '_value')
                ->where('tSku.element_id = ?', $this->identifier)
                ->limit(1)
            ;

            $elements = $this->app->jbrequest->getElements();
            $values = @explode('/', $elements[$this->identifier]['_value']['range']);

            if ($values[0]) {
                $sql->where('tSku.value_n >= ?', $values[0]);
            }

            if ($values[1]) {
                $sql->where('tSku.value_n <= ?', $values[1]);
            }

            $row = JBModel::model()->fetchRow($sql);
            if ($row) {
                return $row->variant;
            }
        }
Сработает только для Plain, т.к Calc не хранит данные в базе по другому Go to the full post


  • This topic is locked This topic is locked
8 replies to this topic

#1 Василий

Василий
  • JBZoo User (rus)
  • User rate: 0
  • posts: 533
  • topics: 100

Posted 24 May 2016 - 06:39

Здравствуйте! 

 

 

На сайте есть около 100 товаров с диапазоном цен от 5 до 100 тр. Из них только 10 товаров с вариантами цены от 20 до 40 тр (шаг 1 тр). Можно ли, при указании пользователем в фильтре диапазона цен от 30 до 40 тр вывести эти 10 товаров с уже отображённой на сайте ценой в 30 тр, а не 20 тр, которая выбрана была по умолчанию? 

Поскольку цена товара может зависеть от нескольких параметров, то хотелось бы чтобы товары выводились на сайт с ценой, уже учитывающей эти параметры. 

 

 

Спасибо. 


Edited by Василий, 24 May 2016 - 06:48.

  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 25 May 2016 - 20:34

Василий, Извините за ожидание. Я помню ваш вопрос.

Сейчас еду на JoomlaDay. Как доберусь до места дислокации, то напишу вам примерное решение.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Василий

Василий
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 533
  • topics: 100

Posted 01 June 2016 - 12:54

Василий, Извините за ожидание. Я помню ваш вопрос.

Сейчас еду на JoomlaDay. Как доберусь до места дислокации, то напишу вам примерное решение.

Денис, здравствуйте! 

 

а сейчас сможете оказать поддержку? :)


  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 01 June 2016 - 13:38

Да, Василий.

 

Спасибо что напомнили. У вас уже есть наполненный сайт? Могу сделать хак прямо у вас.
Просто на локале нет ничего подходящего.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Василий

Василий
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 533
  • topics: 100

Posted 04 June 2016 - 16:14

Денис, добрый день! 

 

Да, уже есть. Вышлю в личку данные для доступа. 

 

Только вот при очередном обновлении они, хаки эти, слетят? 


  • 0

#6 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 08 June 2016 - 18:11

Только вот при очередном обновлении они, хаки эти, слетят? 

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


  • 1
Изображение
 

#7 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 03 August 2016 - 07:48   Best Answer

Хак я делал в этом файле

jbuniversal\elements\jbprice\jbprice.php

t22t_200x0.png
        if ($this->app->jbrequest->get('task') == 'filter') {

            $sql = new JBDatabaseQuery(JFactory::getDbo());
            $sql
                ->select('tSku.variant')
                ->from(ZOO_TABLE_JBZOO_SKU . ' AS tSku')
                ->where('tSku.item_id = ?', $this->getItem()->id)
                ->where('tSku.param_id = ?', '_value')
                ->where('tSku.element_id = ?', $this->identifier)
                ->limit(1)
            ;

            $elements = $this->app->jbrequest->getElements();
            $values = @explode('/', $elements[$this->identifier]['_value']['range']);

            if ($values[0]) {
                $sql->where('tSku.value_n >= ?', $values[0]);
            }

            if ($values[1]) {
                $sql->where('tSku.value_n <= ?', $values[1]);
            }

            $row = JBModel::model()->fetchRow($sql);
            if ($row) {
                return $row->variant;
            }
        }
Сработает только для Plain, т.к Calc не хранит данные в базе по другому
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 Василий

Василий
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 533
  • topics: 100

Posted 03 August 2016 - 15:52

Благодарю! 

 

Это же хак сразу для двух вопросов? Вот эти вопросы: 

1). Фильтр по всем полям прайса

2). Отображение товаров на сайте по начальному условию 


  • 0

#9 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 05 August 2016 - 14:59

По первому решению там уже есть решение на скриншоте, но, как я уже писал вам, оно работает только для plain.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!