Présentation Module mezzanine-blocks

11 Déc

 J'utilise de plus en plus lors de mes développements Python/Django, l'excelent CMS Mezzanine lorsque j'ai besoin d'une couche CMS et d'une application modulaire.
Une fonctionnalité intéressante est l'édition en live, permettant comme son nom l'indique d'éditer son contenu en live sans passer par l'administration d'ou un gain de temps et d'ergonomie.

Plugins Mezzanine

En cherchant sur le site de l'éditeur du CMS, j'ai trouvé une page référençant tous les plugins, alors certe il n'y en a pas autant que pour Wordpress ou Drupal, mais l'avantage d'un tel CMS comme mezzanine, c'est d'être bien écrit et basé sur un framework qui permet un développement rapide et agréable, voici la page des plugins mezzanine.

Sur ce j'ai trouvé un module fort intéressant permettant d'ajouter des blocs un peu partout et administrable, ce module se nomme Mezzanine-blocks, vous pouvez vous rendre en cliquant sur le lien Github de l'auteur.

Installation du plugin

Pour commencer il faut l'installer:

pip install git+git://github.com/renyi/mezzanine-blocks.git

Ensuite rajoutez votre application dans le tuple INSTALLED_APPS de votre settings.py:

 INSTALLED_APPS = (
  "...",
   "mezzanine_blocks",
    )

 Il vous faut ensuite ajouter dans l'administration le menu du module pour pouvoir créer mais aussi éditer les différents blocs 

ADMIN_MENU_ORDER = (
   ("Content",    (
        "pages.Page",
        "mezzanine_blocks.Block",
        "mezzanine_blocks.RichBlock",       
        "mezzanine_blocks.ImageBlock",         "blog.BlogPost",         "blog.BlogCategory",         "generic.ThreadedComment",         ("Media Library", "fb_browse"),    )  ), )

Lancez la commande pour créer les différentes tables du plugins:

  • python manage.py createdb,
  • soit  python manage.py syncdb
  • ou bien si vous utilisez south pour vos migrations: python manage.py migrate

Utilisations 

Comment le module fonctionne ? Dans un premier temps dans votre template là où vous désirez voir apparaitre votre ou vos blocs il faut charger le templatetags:

{% load ... block_tags %}

Vous avez le choix entre 3 types de blocs:

  • FlatBlock (juste du texte brut sans HTML)
  • RichFlatBlock (text HTML)
  • ImageFlatBlock (affiche une image) 

Voici leurs tags correspondants:

{% flatblock "My Awesome Block" %}
{% richflatblock "My Awesome HTML Block" %}
{% imageflatblock "My Image Block" %}

Il y'a aussi des options comme la gestion du cache l'utilisation d'un template spécifique, etc.
Je vous laisse donc lire la doc et tester ce plugin

Publié le: Jeudi 11 décembre 2014
blog comments powered by Disqus
Monter

© Circonflex-studio - Tous droits réservés - Mentions legales
Développeur web indépendant / Webdesigner / Intégrateur
Nice - Cannes - Monaco - Antibes - côte d'azur | site valide HTML 5

Ce site à été développé en Python avec le framework Django

"http://www.cssawards.net/nominee/circonflex-studio/"