Je souhaite ajouter un bloc booléen à mon modèle Wagtail et afficher un champ de panneau de contenu uniquement s'il est coché. J'ai trouvé comment ajouter un bloc booléen et rendre le contenu dans le modèle en fonction de sa valeur, mais pas comment contrôler l'interface de l'éditeur avec lui. Voici mon modèle. Je veux montrer le block de retenue de date, holdover_from, seulement quand holdover boolean est vérifié.Affichage d'un panneau de contenu supplémentaire basé sur un bloc booléen dans l'interface de Wagtail Editor
class AgendaPage(Page):
author= models.CharField(max_length=255)
date = models.DateField('Post date')
agenda = StreamField([
('agenda_item', blocks.StreamBlock([
('item_title', blocks.TextBlock()),
('item_text', blocks.TextBlock()),
('mtg_doc', blocks.StructBlock([
('doc_description', blocks.TextBlock()),
('doc_link', blocks.TextBlock()),
('submitted_late', blocks.BooleanBlock(required=False, help_text='Submitted Late')),
('heldover', blocks.BooleanBlock(required=False, help_text='Held Over')),
('heldover_from', blocks.DateBlock(required=False, help_text="Held Over From")
]))
]
))
])
content_panels = Page.content_panels + [
FieldPanel('author'),
FieldPanel('date'),
StreamFieldPanel('agenda'),
]
(Et après je comprendre cela, je veux savoir si je peux le faire nécessaire, mais seulement si heldover est cochée, non pour l'ensemble streamblock)
{% for block in self.agenda %}
{% if block.block_type == "agenda_item" %} {# will always be true, but included here for clarity #}
<li>
{% for subblock in block.value %}
{% if subblock.block_type == "item_title" %}
<h2>{{subblock.value}}</h2>
{% elif subblock.block_type == "item_text" %}
<p>{{subblock.value}}</p>
{% elif subblock.block_type == "mtg_doc" %}
<p><a href="{{subblock.value.doc_link}}">{{subblock.value.doc_description}}</a><br />
{% ifequal subblock.value.submitted_late True %}
(Submitted Late)
{% endifequal %}
</p>
{% endif %}
{% endfor %}
</li>
{% endif %}
{% endfor %}
Pouvez-vous montrer votre code de modèle actuel, s'il vous plaît? – gasman
J'ai posté le code modèle actuel – JohnnyP