Автор Тема: Иная сортировка содержимого каталогов (подкаталогов)  (Прочитано 3993 раз)

29 Апрель 2012, 19:32:53
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!

Сейчас в бэк-офисе можно менять порядок отображения содержимого категорий по следующим параметрам:
По наименованию товара,
По цене товара,
По дате поступления товара,
Позиции в категории,
Производителю,
По дате изменения товара

Как сделать так, чтобы в категориях товары отображались по следующему принципу: Вверху товар, который есть в наличии - внизу товар, которого нет в наличии.

И желательно бы разделить их словами: "Товар в наличии", "товар под заказ"

Заранее спасибо!
30 Апрель 2012, 09:48:06
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Сортировать можно по количеству.
Цитировать
И желательно бы разделить их словами: "Товар в наличии", "товар под заказ"
Для этого нужно будет заменить стандартные классы в AdminTab.
30 Апрель 2012, 13:29:51
Ответ #2
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Скажите, пожалуйста, а как сортировать по количеству?

Как можно заменить стандартные классы? Точнее на что их надо заменить?

Спасибо.

30 Апрель 2012, 14:33:28
Ответ #3
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Сортировка по количеству, см. приложенный файл.
30 Апрель 2012, 16:09:43
Ответ #4
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
30 Апрель 2012, 17:45:18
Ответ #5
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Простите, я не правильно описал проблему... только сейчас заметил.
Я имел в виду, что в бэкофисе сейчас можно менять вид отображения товаров в ФРОНТ-офисе. Т.е. заходя в категорию на сайте (в фронт-офисе), товар отображается в ней одним из, перечисленных в первом сообщении, способов, которые  предустановленны в бэк-офисе (в Preferences -> Pruducts -> Сортировать товары).
Хотелось бы сортировать товары след. образом: вверху распологаются товары, которые есть в наличии, внизу - те, которых нет. Над этими двуямя группами товаро в написать, к примеру, "Товар в наличии", "Товар под заказ".

30 Апрель 2012, 18:24:22
Ответ #6
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Добавить в админке сортировку по наличию.
<option  value="quantity">по наличию</option>В шаблонах добавить блок разделитель, который показывать после товаров в наличии.
Лучше в отдельный модуль все вынести.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
30 Апрель 2012, 20:02:17
Ответ #7
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
01 Май 2012, 10:06:31
Ответ #8
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Можете сами, можете нанять кого-нибудь  :)
Где и что менять сказано, осталось только кода немного добавить.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
21 Февраль 2013, 14:34:59
Ответ #9
  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день.
У меня такой вопрос.
Отображение товаров в категории в фронт-офисе происходит у меня так:
все товары в наличии, потом все товары не в каличии
Так же они имеют порядок установленный в бек-офисе.
Тут все отлично, нареканий нет.
Но при применении сортировки, например, по цене (возрастание).
Товары пересортировываются почти верно, но из 100 товаров, примерно 20 находится в середине списка в разброс.
Уже голову поломал. Помогите решить проблему.
{if isset($orderby) AND isset($orderway)}
<!-- Sort products -->
{if isset($smarty.get.id_category) && $smarty.get.id_category}
{assign var='request' value=$link->getPaginationLink('category', $category, false, true)}
{elseif isset($smarty.get.id_manufacturer) && $smarty.get.id_manufacturer}
{assign var='request' value=$link->getPaginationLink('manufacturer', $manufacturer, false, true)}
{elseif isset($smarty.get.id_supplier) && $smarty.get.id_supplier}
{assign var='request' value=$link->getPaginationLink('supplier', $supplier, false, true)}
{else}
{assign var='request' value=$link->getPaginationLink(false, false, false, true)}
{/if}
<script type="text/javascript">

//<![CDATA[

{literal}

$(document).ready(function()

{

$('#selectPrductSort').change(function()

{

var requestSortProducts = '{/literal}{$request}{literal}';

var splitData = $(this).val().split(':');







document.location.href = requestSortProducts + ((requestSortProducts.indexOf('?') < 0) ? '?' : '&') + 'orderby=' + splitData[0] + '&orderway=' + splitData[1];



});

});

//]]>

{/literal}

</script>

<form id="productsSortForm" action="{$request|escape:'htmlall':'UTF-8'}">

<select id="selectPrductSort">

<option value="{$orderbydefault|escape:'htmlall':'UTF-8'}:{$orderwaydefault|escape:'htmlall':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='--'}</option>

{if !$PS_CATALOG_MODE}

<option value="price:asc" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Цена: от дешевых к дорогим'}</option>

<option value="price:desc" {if $orderby eq 'price' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Цена: от дорогих к дешевым'}</option>

{/if}

<option value="name:asc" {if $orderby eq 'name' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Название: от А до Я'}</option>

<option value="name:desc" {if $orderby eq 'name' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Название: от Я до А'}</option>

{if !$PS_CATALOG_MODE}

<option value="quantity:desc" {if $orderby eq 'quantity' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='В наличии'}</option>

{/if}

</select>

<label for="selectPrductSort">{l s='Сортировать по'}</label>

</form>

<!-- /Sort products -->
{/if}
22 Февраль 2013, 16:04:46
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Если меняли стандарную сортировку вывода, то нужно смотреть в этих изменениях.
Cоздание интернет сайтов Webstudio UwK