Я создаю фильтр блога для страницы списка блогов HubSpot
. Эта страница листинга имеет два фильтра:
- Тип: Тип покажет все теги, назначенные в указанном типе блога.
- Сектор: В секторе будет предопределенный список из 5 тегов.
У меня работают части моих фильтров, но я не вижу пути к:
- Проверьте, существует ли тег, затем отобразите его как параметр в выпадающем списке выбора. В данный момент в моем раскрывающемся списке «Сектор» отображаются все 5 тегов. Сектором помечен только один из постов (поэтому 4 тега не имеют назначенных им постов). Я хочу показывать эти теги только в том случае, если они существуют.
- В раскрывающемся списке Тип я не хочу, чтобы теги в секторе отображались в нем (поскольку они будут просто дубликатами).
Мой подход пока:
{% set hash = '#filtered' %}
{% set sectorList = ['Tech','Marketing','How to', 'HR', 'Design'] %}
{% set my_topics = blog_topics(group.id, 150)|sort(False, False, 'name') %}
{% set typeOptions = [] %}
<div class="text-center">
<select name="filter" class="filter__type">
<option disabled selected>Type...</option>
{% for item in my_topics %}
{% if item.slug is within sectorList %}
{% set x = typeOptions.append([blog_tag_url(group.id, item.slug) ~ hash, item ]) %}
{% else %}
<option value="{{ blog_tag_url(group.id, item.slug) ~ hash }}">{{ item }}</option>
{% endif %}
{% endfor %}
</select>
<select name="filter" class="filter__solution">
<option value="">Sector...</option>
{% for sector in sectorList %}
<option value="">{{ sector }}</option>
{% endfor %}
</select>
</div>
Как мне go об этом?