HuBL - проверка наличия тега - PullRequest
0 голосов
/ 15 апреля 2020

Я создаю фильтр блога для страницы списка блогов HubSpot. Эта страница листинга имеет два фильтра:

  1. Тип: Тип покажет все теги, назначенные в указанном типе блога.
  2. Сектор: В секторе будет предопределенный список из 5 тегов.

У меня работают части моих фильтров, но я не вижу пути к:

  1. Проверьте, существует ли тег, затем отобразите его как параметр в выпадающем списке выбора. В данный момент в моем раскрывающемся списке «Сектор» отображаются все 5 тегов. Сектором помечен только один из постов (поэтому 4 тега не имеют назначенных им постов). Я хочу показывать эти теги только в том случае, если они существуют.
  2. В раскрывающемся списке Тип я не хочу, чтобы теги в секторе отображались в нем (поскольку они будут просто дубликатами).

Мой подход пока:

{% 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 об этом?

...