maksam07 Опубликовано 9 апреля, 2013 Жалоба Поделиться Опубликовано 9 апреля, 2013 Здравствуйте! как сделать обратную сортировку? Simpla 2.1.5 Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 15 апреля, 2013 Жалоба Поделиться Опубликовано 15 апреля, 2013 в api/Products.phpмежду if(!empty($filter['sort'])) switch ($filter['sort']) { case 'position': $order = 'p.position DESC'; break; case 'name': $order = 'p.name'; break; case 'created': $order = 'p.created DESC'; break; case 'price': //$order = 'pv.price IS NULL, pv.price=0, pv.price'; $order = '(SELECT pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1)'; break; } вставляем if(!empty($filter['sort'])) switch ($filter['sort']) { // По умолчанию case 'position': $order = 'p.position DESC'; break; // по имени от А до Я case 'name_asc': $order = 'p.name'; break; // по имени от Я до А case 'name_desc': $order = 'p.name DESC'; break; case 'created': $order = 'p.created DESC'; break; // по цене Низкие > Высокие case 'price_asc': $order = '(SELECT pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1)'; break; // по цене Высокие < Низкие case 'price_desc': $order = '(SELECT pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1) DESC'; break; } в шаблоне products.tpl {* Сортировка *} {if $products|count>0} <div class="sort"> <b>Сортировать по:</b> <select onchange="location = this.value;"> <option value="{url sort=position page=null}"{if $sort=='position'} selected="selected"{/if}>По умолчанию</option> <option value="{url sort=name_asc page=null}"{if $sort=='name_asc'} selected="selected"{/if}>Имени от А до Я</option> <option value="{url sort=name_desc page=null}"{if $sort=='name_desc'} selected="selected"{/if}>Имени от Я до А</option> <option value="{url sort=price_asc page=null}"{if $sort=='price_asc'} selected="selected"{/if}>Ценам: Низкие > Высокие</option> <option value="{url sort=price_desc page=null}"{if $sort=='price_desc'} selected="selected"{/if}>Ценам: Высокие < Низкие</option> </select> </div> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
maksam07 Опубликовано 16 апреля, 2013 Автор Жалоба Поделиться Опубликовано 16 апреля, 2013 я сделал еще по рейтингу (не стандартное дополнение) и по просмотрам (тоже не стандартное дополнение), обращайся в личку если хочешь, напишу код. Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 16 апреля, 2013 Жалоба Поделиться Опубликовано 16 апреля, 2013 а звездочку с неба слабо? Цитата Ссылка на сообщение Поделиться на другие сайты
maksam07 Опубликовано 17 апреля, 2013 Автор Жалоба Поделиться Опубликовано 17 апреля, 2013 а звездочку с неба слабо? сортировку по звездочке слабо :-( Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.