Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Сортировка товаров product-list
Paparacci
Новичок
Сообщений: 61
Регистрация: 15-10-2010


22-01-2011 13:21
Что надо изменить в коде чтобы товары при листинге категории сортировались не по алфавиту а по наличию? Товары в наличии естественно сначала

Код:
{if $smarty.get.id_category|intval}
    {assign var='request' value=$link->getPaginationLink('category', $category, false, true)}
{elseif $smarty.get.id_manufacturer|intval}
    {assign var='request' value=$link->getPaginationLink('manufacturer', $manufacturer, false, true)}
{elseif $smarty.get.id_supplier|intval}
    {assign var='request' value=$link->getPaginationLink('supplier', $supplier, false, true)}
{else}
    {assign var='request' value=$link->getPaginationLink(false, false, false, true)}
{/if}
<form id="productsSortForm" action="{$request}">
    <p class="select">
        <select id="selectPrductSort" onchange="document.location.href = $(this).val();">
            <option value="{$link->addSortDetails($request, 'position', $orderwayposition)|escape:'htmlall':'UTF-8'}" {if $orderby eq 'position'}selected="selected"{/if}>{l s='--'}</option>
            <option value="{$link->addSortDetails($request, 'price', 'asc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'price'    AND $orderway eq 'ASC' }selected="selected"{/if}>{l s='price: lowest first'}</option>
            <option value="{$link->addSortDetails($request, 'price', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'price'    AND $orderway eq 'DESC'}selected="selected"{/if}>{l s='price: highest first'}</option>
            <option value="{$link->addSortDetails($request, 'name', 'asc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'name'     AND $orderway eq 'ASC' }selected="selected"{/if}>{l s='name: A to Z'}</option>
            <option value="{$link->addSortDetails($request, 'name', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'name'     AND $orderway eq 'DESC'}selected="selected"{/if}>{l s='name: Z to A'}</option>
            <option value="{$link->addSortDetails($request, 'quantity', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'quantity' AND $orderway eq 'DESC' }selected="selected"{/if}>{l s='in-stock first'}</option>
        </select>
        <label for="selectPrductSort">{l s='sort by'}</label>
    </p>
</form>



Сообщение отредактировано Paparacci 22-01-2011 09:22 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


22-01-2011 22:51
по-моему менять надо в коде файла с расширением php, ну и потом tpl соответственно..
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


23-01-2011 15:21
в файле admin\tabs\AdminPPreferences.php

54 строчка, находим
Цитата:
array('id' => '5', 'name' => $this->l('Manufacturer')),
array('id' => '3', 'name' => $this->l('Product modified date'))


добавляем
Цитата:
array('id' => '6', 'name' => $this->l('quantity'))


далее в админке добавляем сортировку. должно работать.
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Paparacci
Новичок
Сообщений: 61
Регистрация: 15-10-2010


23-01-2011 16:44
Антон, все работает точно как ты сказал! Очень выручил. Спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Fant63
Профессионал
Сообщений: 543
Откуда: Тольятти
Регистрация: 23-02-2010


23-01-2011 17:27
А почему разработчики не добавят это в функционал?

Или много функций - плохо - запутается пользователь?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Paparacci
Новичок
Сообщений: 61
Регистрация: 15-10-2010


24-01-2011 15:47
Не каждому нужны такие опции. Как ты мог заметить каждый допиливает prest-y напильником под свои нужды. В движке реализован базис.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
sdnr666
Новичок
Сообщений: 8
Регистрация: 20-02-2011


20-02-2011 19:01
Цитата:( антон @ 23-01-2011 10:21 Смотреть сообщение )
в файле admin\tabs\AdminPPreferences.php

54 строчка, находим 
Цитата:
array('id' => '5', 'name' => $this->l('Manufacturer')),
array('id' => '3', 'name' => $this->l('Product modified date'))
добавляем
Цитата:
array('id' => '6', 'name' => $this->l('quantity'))
далее в админке добавляем сортировку. должно работать.


Пасиб, в php все справил а подскажи где в админке добавлять сортировку ?! не могу найти. Спс!


Сообщение отредактировано sdnr666 20-02-2011 14:03 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
sdnr666
Новичок
Сообщений: 8
Регистрация: 20-02-2011


20-02-2011 19:28
Ребята распишите подробнее где че менять чтобы сортировку добавить в магазине по НАЛИЧИЮ. Поменял admin\tabs\AdminPPreferences.php - добавил строчку
array('id' => '6', 'name' => $this->l('quantity'))

А дальше куда что добавлять ?! Как добавил перестало работать в Админке - Натсройки - ТОвары . Вернул на место старый файл -все работает. А вопрос не решен!


Помогите народ =))) Только подробнее плиз
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
sportbulki
Новичок
Сообщений: 45
Регистрация: 27-07-2010


02-03-2011 02:34
А как сделать, что он сортировал по наличии, т.е что есть то вверх, чего нет вних, а потом еще и по цене тут же?
что бы было в наличии+по возрастанию цены
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
WebStar
Новичок
Сообщений: 69
Регистрация: 18-02-2011


12-03-2011 19:43
Немножко доработал сортировку, если у вас установлен модуль Filter search community и надо туда добавить такую закладку как (По наличию) я зделал следующие:

в файле filtersearch.module.php что в модуле coremanager
в строке

Код:
function performSearch(Smarty $smarty, $page = 1, $perPage = 10, $orderBy = 'newest', $orderWay = 'DESC')
....
if($orderBy == 'price') $orderBy = 'orderprice';

добавил
Код:
if($orderBy == 'quantity') $orderBy = 'quantity';


дальеш в файле sortby_tabs.tpl
после строки
Код:
<li><a href="#price_desc">{l s='Price Highest' mod='filtersearch'}</a></li>

добавил
Код:
<li><a href="#quantity">{l s='+' mod='filtersearch'}</a></li>
где "+" чтобы не морочить голову с язиками название закладочки

после строки
Код:
<div id="price_desc"></div>

добавил
Код:
<div id="quantity"></div>


вот и все :)


Сообщение было отредактировано WebStar в 12-03-2011 20:44 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >