Ich habe mehrere Produktseiten auf meiner Site, die identische Index- und Seiteneinstellungen, aber einen anderen URL-Pfad haben. Ich möchte die Vorlage erneut verwenden, aber die Ergebnisse filtern, um nur die untergeordneten Objekte dieser Indexseite anzuzeigen.Wagtail-Indexvorlage für mehrere Listen wiederverwenden
Zum Beispiel:
Aktuell
www.../carnival - index page that displays all child objects
www.../carnival/rides-games - child page of carnival
www.../carnival/etc...
Ich möchte die gleiche Index-Seite auf andere Bereiche der Website verwenden:
www.../catering - index page that displays all child objects
www.../catering/fun-food - child page of catering
www.../catering/etc...
Aber, wenn ich den gleichen Index-Seite und besuchen Sie meine carnival
Seite, ich sehe alle meine Catering-Kind-Objekte auch.
Unten ist mein Code - bitte helfen Sie mir aus; Ich weiß, dass es einen DRY-Weg geben muss, dies zu tun. Vielen Dank.
standard_index_page.html
{% block content %}
...
{% standard_index_listing %}
...
{% endblock %}
standard_index_listing.html
{% if pages %}
{% for pages in pages %}
<div class="col-xs-6 col-sm-4 col-md-3 mt20 hover-float">
<div class="team-two">
{% if pages.feed_image %}
{% image pages.feed_image original as img %}
<div class="team-one" data-animation="zoomIn" data-animation-delay="100" style="background: url('{{ img.url }}') no-repeat top center; background-size: cover"></div>
{% endif %}
<h5>{{ pages.title }}</h5>
<small><a href="{% pageurl pages %}" class="color-pasific">Learn More </a></small>
</div>
</div>
{% endfor %}
{% endif %}
home_tags.py
@register.inclusion_tag(
'home/tags/standard_index_listing.html',
takes_context=True
)
def standard_index_listing(context):
pages = StandardPage.objects.live()
return {
'pages': pages.select_related('feed_image'),
'request': context['request'],
}
Sie auch 'Seiten = Kontext tun konnte [ 'Seite'] get_children() leben()'... – 404