Пагинатор knp сортируется в выпадающем списке - PullRequest
0 голосов
/ 30 апреля 2019

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

Это мой код до сих пор.Я изменил ветку sortable.link htwl на эту

<option{% for attr, value in options %} {% if attr == 'href' %}value="{{ value }}" {% else %}{{ attr }}="{{ value }}"{% endif %}{% endfor %} >{{ title }}</option>

, и мой файл ветки выглядит так:

<select onChange="window.location=this.value;">
{{ knp_pagination_sortable(properties, 'Title A-Z', 'a.title', {}, {'direction': 'asc'}) }}
{{ knp_pagination_sortable(properties, 'Title Z-A', 'a.title', {}, {'direction': 'desc'}) }}
</select>

Выпадающий обмен работает, но не показывает выбранную опциюпри загрузке снова.Пожалуйста, совет :) Может быть, это не лучший способ настроить выпадающий список.Любые улучшения в моем коде очень приветствуются


edit

Я посмотрел другие примеры шаблонов и увидел, что вы можете получить направление и порядок, он еще не работает полностьюс asc / desc все идет не так.Это мой обновленный код опции.

<option{% for attr, value in options %} {% if attr == 'href' %}value="{{ value }}" {% else %}{{ attr }}="{{ value }}"{% endif %}{% endfor %}  {% if app.request.get('direction') == 'desc' and app.request.get('sort') == key  %} selected="selected" {% elseif app.request.get('direction') == 'asc' and app.request.get('sort') == key %} selected="selected"{% else%} no{% endif %}>{{ title }}</option>

Тогда мой обновленный выбор ветки

 <select onChange="window.location=this.value;">
    {{ knp_pagination_sortable(properties, 'Title A-Z', 'a.title', {}, {'direction': 'asc'}) }}
    {{ knp_pagination_sortable(properties, 'Title Z-A', 'a.title', {}, {'direction': 'desc'}) }}
    {{ knp_pagination_sortable(properties, 'price (low to high)', 'a.price', {}, {'direction': 'asc'}) }}
    {{ knp_pagination_sortable(properties, 'Price (high to low)', 'a.price', {}, {'direction': 'desc'}) }}
    </select>

Помощь приветствуется.Спасибо

1 Ответ

0 голосов
/ 30 апреля 2019

Я думаю, что могу ответить на свой вопрос.Мне просто нужно было выбрать направление вместо desc / asc.

Я думаю, что это работает:)

<option{% for attr, value in options %} {% if attr == 'href' %}value="{{ value }}" {% else %}{{ attr }}="{{ value }}"{% endif %}{% endfor %}  {% if app.request.get('direction') == direction and app.request.get('sort') == key  %} selected="selected" {% endif %}>{{ title }}</option>
...