daramal Опубликовано 22 мая, 2015 Жалоба Поделиться Опубликовано 22 мая, 2015 Приветствую! Есть реализованная тема "Связанные товары"http://blog.rlstudio.com/2012/02/simpla-2-0-sgenerirovannye-svyazannye-tovary/ Здесь логика в том, что выбираются все товары из категории. Вопрос: Как реализовать из этого же "Похожие товары по цене" из всего каталога и ставить лимит к примеру 6 товаров ? Спасибо за любую информацию! Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 22 мая, 2015 Жалоба Поделиться Опубликовано 22 мая, 2015 (изменено) По моему, достаточно будет просто добавить фильтр выбора товаров с условием , что price выбираемого продукта в диапазоне 50 руб больше и 50 руб меньше цены товара к которому генерируем.Ну, как-то так. Изменено 22 мая, 2015 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 23 мая, 2015 Автор Жалоба Поделиться Опубликовано 23 мая, 2015 а как это сделать на карточке товара, чтобы отобразились товары похожие по цене в том или в близком диапозоне и штук 5-6, в одном блоке? Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 23 мая, 2015 Жалоба Поделиться Опубликовано 23 мая, 2015 (изменено) Как-то так. Пишу по памяти, без проверок.В 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 Еще раз говорю, что не проверял, возможно нужно будет где-то подправить Изменено 23 мая, 2015 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 23 мая, 2015 Автор Жалоба Поделиться Опубликовано 23 мая, 2015 Спасибо большое за ответ. К сожалению, не пашет (( Не знаю где именно ошибка, т.к. особо не разбираюсь в коде.Если Вам не трудно, не могли ли Вы проверить все это, пожалуйста? Заранее благодарю. Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 23 мая, 2015 Жалоба Поделиться Опубликовано 23 мая, 2015 Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться. Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 23 мая, 2015 Автор Жалоба Поделиться Опубликовано 23 мая, 2015 Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться.Скинул в ЛК Цитата Ссылка на сообщение Поделиться на другие сайты
petrovlekha Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Спасибо за инфу Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.