Jump to content

Recommended Posts

Приветствую!

 

Есть реализованная тема "Связанные товары"

http://blog.rlstudio.com/2012/02/simpla-2-0-sgenerirovannye-svyazannye-tovary/

 

Здесь логика в том, что выбираются все товары из категории.

 

Вопрос: Как реализовать из этого же "Похожие товары по цене" из всего каталога и  ставить лимит к примеру 6 товаров ?

 

Спасибо за любую информацию!

Link to post
Share on other sites

По моему, достаточно будет просто добавить фильтр выбора товаров с условием , что price выбираемого продукта в диапазоне 50 руб больше и 50 руб меньше цены товара к которому генерируем.

Ну, как-то так.

Edited by koteyka
Link to post
Share on other sites

а как это сделать на карточке товара, чтобы отобразились товары похожие по цене в том или в близком диапозоне и штук 5-6, в одном блоке?

Link to post
Share on other sites

Как-то так. Пишу по памяти, без проверок.

В 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 by koteyka
Link to post
Share on other sites

Спасибо большое за ответ.

 

К сожалению, не пашет (( Не знаю где именно ошибка, т.к. особо не разбираюсь в коде.

Если Вам не трудно, не могли ли Вы проверить все это, пожалуйста?

 

Заранее благодарю.

Link to post
Share on other sites

Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться.

Link to post
Share on other sites

Может лучше дадите доступы в ЛК или скайп? Так проще будет. Можно будет по Вашему коду ориентироваться.

Скинул в ЛК

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...