Moduł menu¶
Założenia¶
Moduł stanowi komponent strony internetowej w postaci menu nawigacyjnego. Zapewnia możliwości stworzenia i zarządzania dwupoziomowym menu. Elementy zamieszczone w menu mogą odwoływać się do zarówno do elementów serwisu, jak również zewnętrznych. Zapewniona jest podstawowa weryfikacja odnośników wewnętrznych.
Dane testowe¶
Dla modułu menu nie możliwe jest w środowisku deweloperskim dynamicznie wygenerowanie generowanych danych testowych.
Architektura¶
Model¶
-
class
watchdog_kj_kultura.menu.models.
Element
(id, created, modified, name, url, parent, visible, position)[źródło]¶ Parametry: - id (AutoField) – Id
- created (AutoCreatedField) – Utworzono
- modified (AutoLastModifiedField) – Zmodyfikowane
- name (CharField) – Nazwa
- url (CharField) – Url
- parent_id (ForeignKey to
watchdog_kj_kultura.menu.models.Element
) – Rodzic - visible (BooleanField) – Zaznacz, aby oznaczyć szablon jako publicznie widoczny
- position (SmallIntegerField) – Pozycja
Panel administracyjny¶
Procesorzy kontekstu¶
-
watchdog_kj_kultura.menu.context_processors.
menu
(request)[źródło]¶ A context processor which provide menu in
menu
template variable.Parametry: request (HttpRequest) – A django standard request object Example
Menu render is very simple and effective. For example:
{% if menu %} <ul> {% for el in menu %} <li> <a href="{{el.url}}">{{el}}</a> {% if el.children_set %} <ul> {% for child in el.children_set %} <li><a href="{{child.url}}">{{child}}</a> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endif %}