Я создаю базу данных с помощью Jekyll и хотел бы, чтобы запись в базе данных имела ссылки на все остальные страницы в той же категории. Например, каждая страница в категории «а» будет отображаться с кнопкой со следующим фрагментом кода:

{% for page in site.pages %}
    {% if page.layout == 'a' %}
        <ul class="actions">
            <li><a href="/people/{{ page.title | remove: ' ' | strip_newlines | downcase | md5 }}/" class="button alt small">{{ page.title }}</a></li>
        </ul>
    {% endif %}
{% endfor %}

Проблема, которую я имею, состоит в том, чтобы перечислить каждую страницу, она будет включать текущую страницу. Есть ли еще один слой логики, который я могу добавить, чтобы этот список фрагментов создавался на каждой странице категории, кроме той, на которой он находится в данный момент? Спасибо!

2
pfr 28 Май 2017 в 04:39

2 ответа

Лучший ответ

Текущая страница будет содержать свои данные в переменной page, поэтому вам нужно выбрать другое имя для циклического перемещения по страницам.

Затем добавьте еще одно условие, чтобы текущая страница процесса не обнаруживала ее идентификатор:

{% for onepage in site.pages %}
.. If same category...
{% unless page.id == onepage.id %}
...
{% endunless%}
..endif...
{% endfor %}
2
marcanuy 29 Май 2017 в 01:44

Я также нашел способ сделать это с помощью утверждений if, я просто выложу это для потомков.

{% for apage in site.pages %}
    {% if apage.layout == 'a' %}
        {% if page.url != apage.url %}
            <ul class="actions">
                <li><a href="/entries/people/{{ apage.title | remove: ' ' | strip_newlines | downcase | md5 }}" class="button alt small">{{ apage.title }}</a></li>
            </ul>                                               
        {% endif %}
    {% endif %}
{% endfor %}
0
pfr 28 Май 2017 в 16:46