Je crée un nouveau champ pour la page d'extension de la page, je suis le documentation pour cela.Extension de la page Avec les menus
Alors maintenant chaque page a une image. Dans mon cas, je montre le sous-menu dans mon modèle en utilisant ce
{% show_menu 2 100 100 100 "partials/menu_image.html" %}
donc dans mon menu_image.html
je montre mon menu comme celui-ci
<ul>
{% for child in children %}
<li>
<div class="project_item">
<a href="{{ child.get_absolute_url }}">
{% if request.current_page %}
<img src="{% static request.current_page.iconextension.image.url %}">
{% endif %}
<div class="title_project">{{ child.get_menu_title }}</div>
<div class="description_project">
{{ request.current_page.PageDescriptionExtension.description_page }}
</div>
</a>
</div>
</li>
{% endfor %}
</ul>
Mon problème est que ici, je veux montrer l'image de chaque la page ici dans le menu, pour que je dois créer un cms_menus.py
donc j'ai cette
from menus.base import Modifier
from menus.menu_pool import menu_pool
from cms.models import Page
class MyMode(Modifier):
"""
"""
def modify(self, request, nodes, namespace, root_id, post_cut, breadcrumb):
# if the menu is not yet cut, don't do anything
if post_cut:
return nodes
# otherwise loop over the nodes
for node in nodes:
# does this node represent a Page?
if node.attr["is_page"]:
# if so, put its changed_by attribute on the node
node.attr["changed_by"] = Page.objects.get(id=node.id).changed_by
return nodes
menu_pool.register_modifier(MyMode)
dans ce point que j'ai un peu confus, Beca utiliser Je ne sais pas comment communiquer avec mon menu pour afficher l'image ici et le documentation dans ce point est pas clair
où je dois utiliser extension = page.iconextension
et child.extension.icon
une idée ou un exemple pour voir
Merci à avance!