J'ai plusieurs pages de produits sur mon site qui auront un index et une mise en page identiques, mais un chemin d'URL différent. Je souhaite réutiliser le modèle mais filtrer les résultats pour afficher uniquement les objets enfants de cette page d'index.Réutiliser le modèle d'index Wagtail pour plusieurs listes
Par exemple:
Actuellement
www.../carnival - index page that displays all child objects
www.../carnival/rides-games - child page of carnival
www.../carnival/etc...
Je veux utiliser la même page d'index sur d'autres sections du site:
www.../catering - index page that displays all child objects
www.../catering/fun-food - child page of catering
www.../catering/etc...
Mais, quand je l'utilise même page d'index et de visiter ma page carnival
, je vois tous mes objets enfants de restauration ainsi.
Ci-dessous est mon code - s'il vous plaît aidez-moi; Je sais qu'il doit y avoir une façon DRY de le faire. Je vous remercie.
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'],
}
Vous pouvez également faire 'pages = contexte [ 'page'] get_children() vivent()'... – 404