daramal Posted May 22, 2015 Report Share Posted May 22, 2015 Приветствую! Есть реализованная тема "Связанные товары"http://blog.rlstudio.com/2012/02/simpla-2-0-sgenerirovannye-svyazannye-tovary/ Здесь логика в том, что выбираются все товары из категории. Вопрос: Как реализовать из этого же "Похожие товары по цене" из всего каталога и ставить лимит к примеру 6 товаров ? Спасибо за любую информацию! Quote Link to post Share on other sites
koteyka Posted May 22, 2015 Report Share Posted May 22, 2015 (edited) По моему, достаточно будет просто добавить фильтр выбора товаров с условием , что price выбираемого продукта в диапазоне 50 руб больше и 50 руб меньше цены товара к которому генерируем.Ну, как-то так. Edited May 22, 2015 by koteyka Quote Link to post Share on other sites
daramal Posted May 23, 2015 Author Report Share Posted May 23, 2015 а как это сделать на карточке товара, чтобы отобразились товары похожие по цене в том или в близком диапозоне и штук 5-6, в одном блоке? Quote Link to post Share on other sites
koteyka Posted May 23, 2015 Report Share Posted May 23, 2015 (edited) Как-то так. Пишу по памяти, без проверок.В product.tpl можно сделать ссылку типа <a href="{url module=ProductsAdmin gen_price = $product->variant->price}">Сгенерировать</a> В ProductAdmin.php исходя из переданных данных указать фильтр типа так, после else условия if($this->request->method('post') && !empty($_POST)) $gen_price = $this->request->get('gen_price'); if($gen_price) { $gen_products = $this->products->get_products(array('gen_price'=>$gen_price)); } Затем в api/Products.php нужно указать условие этой выбрки как-то так: В функции public function get_products($filter = array()) делаем $gen_filter = ''; // потом ниже, где фильтры if(!empty($filter['gen_price'])) { $price_up = $filter['gen_price'] + 5;//на сколько дороже $price_doun = $filter['gen_price'] - 5;//на сколько дешевле $gen_filter = $this->db->placehold('AND (SELECT 1 FROM __variants pv WHERE pv.product_id=p.id AND pv.price > ? AND pv.price > ? LIMIT 1)', $price_up, $price_doun); } //и ниже $this->design->assign('gen_products', $gen_products); Потом ниже в выборке укажи и этот фильтр, а в карточке товара через foreach выбирай эти товары из $gen_products Еще раз говорю, что не проверял, возможно нужно будет где-то подправить Edited May 23, 2015 by koteyka Quote Link to post Share on other sites
daramal Posted May 23, 2015 Author Report Share Posted May 23, 2015 Спасибо большое за ответ. К сожалению, не пашет (( Не знаю где именно ошибка, т.к. особо не разбираюсь в коде.Если Вам не трудно, не могли ли Вы проверить все это, пожалуйста? Заранее благодарю. Quote Link to post Share on other sites
koteyka Posted May 23, 2015 Report Share Posted May 23, 2015 Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться. Quote Link to post Share on other sites
daramal Posted May 23, 2015 Author Report Share Posted May 23, 2015 Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться.Скинул в ЛК Quote Link to post Share on other sites
petrovlekha Posted May 28, 2015 Report Share Posted May 28, 2015 Спасибо за инфу Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.