Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как сделать выпадающую сортировку?

Подскажите как в шаблоне сделать выпадающую кнопку, где можно выбрать сортировку (цена по возр. цена по убыв. и т.д.)
как тут для примера кнопка "sort by"http://cms.template-help.com/prestashop_30288/category.php?id_category=5


Если просто выпадающую, то примерно так

<form id="productssort">
<select id="selectPrductSort" onchange="document.location.href = $(this).val();">
<option value="" selected="selected">Сортировать товар</option>
<option value="{$LINK_sort_name_asc}">{#text_sort_name_asc#}</option>
<option value="{$LINK_sort_name_desc}">{#text_sort_name_desc#}</option>
<option value="{$LINK_sort_price_asc}">{#text_sort_price_asc#}</option>
<option value="{$LINK_sort_price_desc}">{#text_sort_price_desc#}</option>
</select>
</form>


NeBox спасибо за помощь!
Вставил твой код в файл в шаблоне product_listing_columns.html кнопка появилась, но сортировка не работает.


У меня работает.
Проверил на трех шаблонах сейчас.


Nebox снова появилась необходимость в выпадающей сортировке. Подскажи что не так?
Вставил код в файл в шаблоне product_listing_columns.html

<form id="productssort">
<select id="selectPrductSort" onchange="document.location.href = $(this).val();">
<option value="" selected="selected">Сортировать товар</option>
<option value="{$LINK_sort_name_asc}">{#text_sort_name_asc#}</option>
<option value="{$LINK_sort_name_desc}">{#text_sort_name_desc#}</option>
<option value="{$LINK_sort_price_asc}">{#text_sort_price_asc#}</option>
<option value="{$LINK_sort_price_desc}">{#text_sort_price_desc#}</option>
</select>
</form>

кнопка появилась, но сортировка не работает.

Может ошибка где-то? Или еще кудато что-то нужно прописать?


Нет. Прописывать больше ничего не нужно.
А javascript в браузере случаем не выключен?


Все включено. все стандартно.. в разных браузерах пробовал... тоже самое.
Может какой-то скрипт не грузится в  shopose шаблоне?


Да нет. тут никакие скрипты не нужны. Вышеприведенный код самостоятельный, и ему ничего не нужно.
Странно, что не работает. У меня везде работает корректно.
Ссылку можно на магазин, где это меню?


NeBox для примера в этой категории включил http://mobitels.ru/index.php?cat=74


попробуй заменить
document.location.href = $(this).val();
на
top.location.href = this.options.value;


NeBox спасибо, друг! Все заработало.


Ну, и замечательно)



Да нет. тут никакие скрипты не нужны. Вышеприведенный код самостоятельный, и ему ничего не нужно.
Странно, что не работает. У меня везде работает корректно.
Ссылку можно на магазин, где это меню?


Ничего странного, так как этот код совсем не самостоятельный, а требует библиотеки JQUERY.


А я думаю, почему у меня работает. У меня jQuery везде вызывается)))


Ребят, может кто подскажет, как добавит в сортировку, по времени доставки? Уже спрашивал, но никто не словом не духом, а вещь важная



Ребят, может кто подскажет, как добавит в сортировку, по времени доставки? Уже спрашивал, но никто не словом не духом, а вещь важная

По аналогии с текущей сортировкой.


Вот вставляю этот код:
<a href="{$LINK_sort_shippingtime_asc}">{#text_sort_shippingtime_asc#}</a>
<a href="{$LINK_sort_shippingtime_desc}">{#text_sort_shippingtime_desc#}</a>
Но ничего не выводится, может не правильно что-то?


Смотрите код страницы, скорее всего там появилось что-то типа
<a href=""></a>
<a href=""></a>
В браузере это, конечно, не видится.

Чтоб вывод был правильный, надо метки типа #text_sort_shippingtime_asc#  определять.
Опять же по аналогии.


grig наверно хочет сказать, что надо еще php код править и добавлять условия для вывода. а потом уже в шаблоне вставлять ссылки.


Можно немножко подробней? Там ведь не много править?


Вы придумали код для шаблона:
<a href="{$LINK_sort_shippingtime_asc}">{#text_sort_shippingtime_asc#}</a>

Почему так? Видимо, по аналогии с тем, что нашли в шаблоне
<a href="{$LINK_sort_name_asc}">{#text_sort_name_asc#}</a> |

Можно легко догадаться, что если вместо {#text_sort_name_asc#} выводится осмысленный текст, то он возникает не сам по себе, а где-то задается. Если поискать, где встречается text_sort_name_asc,  то в файле lang.conf можно обнаружить строку

text_sort_name_asc = 'имя (по возрастанию)'

Теперь должно быть понятно, откуда  берется тот осмысленный текст и как создать свой текст для дополнительной сортировки.

Подобным  образом можно  и дальше работать по аналогии.

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


С текстом понял, теперь как сделать чтобы правильно работала сортировка?


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


Люблю покопаться, подскажи в каком файле-то?


Не знаю, в каком.
Поиск используйте.


modules/product_listing.php
includes/functions/params_filters.php

Если не ошибаюсь.


ничего не получилось)
можете помочь?


Источник



Copyright ShopOS