KNP Paginator可以在选择下拉中排序



我将可排序的链接布局更改为选择下拉列表。但是我不知道如何选择选定的选项。

这是我到目前为止的代码。我更改了sortable.link htwl twig为

<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>

下拉式OnChange有效,但是再次加载时不会显示所选选项。请指教 :(也许这也不是设置选择下拉菜单的最佳方法。我的代码的任何改进都将不胜感激


编辑

我查看了其他模板示例,看到您可以抓住方向和顺序,它在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>

然后我更新的twig

选择
 <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>

帮助不胜感激。谢谢

我想我可以提出自己的问题。我只需要抓住方向而不是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>

相关内容

  • 没有找到相关文章