A propos de l'auteur

  • Stéphane

    Entré chez Les Corsaires avec Pierre en 1999, Stéphane partage sa vie entre l’association et une école sup d’Art à Bruxelles (autant dire qu’il ne dort pas beaucoup). “FormaTueur” et graphiste/développeur respecté, on l’appelle le Gourou, ce qui le rend particulièrement maussade. Reste que tout le monde s’accorde pour penser que si Stéphane avait été Dalaï lama en ‘59, les Chinois auraient renoncé à envahir le Tibet.

Autres articles dans cette rubrique

Si la page sommaire, ou rubrique, ou tout autre page type manque d’un contenu spécifique, impossible à lister par les méthodes disponibles, et que voulez un bloc spécifique pour par exemple lister tous les auteurs de votre site, voici la méthode.

Notre exemple sera donc : ajouter un bloc dans le gabarit sommaire permettant de lister les auteurs du site. Cela se passe en trois étapes : créer le bloc, l’ajouter dans la liste des blocs disponibles du gabarit sommaire, puis le disposer dans la page de gabarit à l’endroit où on veut l’afficher.

1) Créer le dossier "pages-custom"

Un dossier du nom de "pages-custom" doit être créé à la racine de votre sie (pas à la racine du plugin). Ceci permet d’ajouter ses blocs, pages et gabarits sans intervenir directement dans le plugin et donc de pouvoir continuer à mettre à jour le plugin sans risquer de perdre ses contenus personnels.
Dans ce dossier vous pouvez ajouter vos pages "autres", comme par exemple "rubrique-25.html" pour la rubrique 25 et ses enfants, conformément à la documentation spip.

2) Créer le bloc

Notre exemple est simple, mais il requiert une boucle spip. Il est à noter que du code html pur (sans spip) ou n’importe quel code acceptable dans une page web (javascript, css par exemple) peuvent être utilisés. Le code du bloc sera celui-ci :


<B_listeauteurs>
<div id="liste-auteurs" class="listagebloc">
<h2>Liste des auteurs</h2>
<ul class="listageconteneur">
<BOUCLE_listeauteurs(AUTEURS){tout}>
<li>
<h4 class="listagetitre"><a href="mailto:#EMAIL">[(#NOM|supprimer_numero)]</a></h4>
[<p class="listagetexte">(#BIO|couper{200}|supprimer_tags)</p>]
</li>
</BOUCLE_listeauteurs>
</ul>
</div>
</B_listeauteurs>

Ce code html respecte la mise en page css et html globale, de telle manière qu’il reçoit le formatage de base des blocs. Une documentation générale sur la structure html et css des pages magusine est en cours.

Enregistrez ce fichier dans le dossier "pages-custom" sous un nom precis genre liste_auteurs.html. Ce nom doit être unique dans le plugin, sinon le fichier sera inclus à la place d’un autre du même nom dans la plugin. Un fichier nommé "article.html" sera chargé à la place du fichier pour les articles de tout le site !

3) Injecter dans un gabarit

Il faut maintenant rendre disponible ce bloc dans le gabarit "sommaire" de magusine.

- Créer un dossier "gabarits" dans le dossier "pages-custom"
- A l’intérieur de ce doosier, on va placer un fichier du nom de "ajout-sommaire.xml". Le contenu de ce fichier est celui-ci :


<?xml version="1.0" encoding="utf-8"?>
<gabarit type="defaut">
<bloc statut="3">liste_auteurs</bloc>
</gabarit>

- Si on veut ajouter un autre bloc dans le sommaire, on ajoute une ligne dans le fichier ajout-sommaire.xml avec autrebloc, pas besoin de créer plusieurs fichier "ajout-sommaire.xml", bien sûr.
- On peut ajouter des parametres dans les blocs (menu déroulant ou champ à remplir), voir dans le dossier "definitions-gabarit" du plugin.
- On peut ajouter des blocs dans les articles (ajout-article.xml), rubrique (ajout-rubrique.xml) et tous les gabarits existants (ajout-le nom du gabarit.xml).
- Il est possible évidemment de rajouter un même bloc dans plusieurs gabarits, du moment que les arguments nécessaires (id_article, id_rubrique par exemple) soient adaptés au gabarit.

4. Disposer le bloc dans la page

Aller maintenant dans l’administration du plugin magusine. Si tout a été bien codé et disposé, le bloc doit apparaitre dans le corps car dans le xml, son statut est "3". Si statut est égal à 0, ce sera dans la réserve, 1 et 2 étant les contextes.

Placez-le par drag’n drop à l’endroit de votre choix, ici dans un des contextes par exemple. Enregistrez et recalculez la page sommaire.

5. Appréciez

Le bloc est maintenant disposé. A vous de vérifier son code et de le modifier, éventuellement ajouter un comportement css particulier, etc. L’ajout d’autres blocs suit la même logique.

6. Plus loin

Il est possible de créer des pages spéciales avec leur propre gabarit et leur propres blocs. C’est l’objet d’un autre didactitiel, pas encore écrit à ce stade.

Répondre à cet article

Forum

  • Ajouter un bloc dans les gabarits et +

    3 septembre 2008, par Marxello

    Bonjour,
    je souhaite ajouter une colonne à droite du corps dans le gabarit des pages sommaire et rubriques du thème NéoClassique. Dois je attendre la publication du nouveau didacticiel pour créer des pages avec leur propre gabarit ou bien y a-t-il déjà une solution ?
    Pour une évolution de la gestion des gabarits : pourrait-on avoir la possibilité de choisir entre plusieurs gabarits à 1 , 2 ou 3 colonnes par exemple. Si on revient en arrière en pensant d’un gabarit de 3 à 2 colonnes, la colonne de droite est supprimée et la mis en page perdue pour cette colonne.
    Merci réponse.

    • Ajouter un bloc dans les gabarits

      3 septembre 2008, par Stéphane

      En fait comme on peut le voir dans la page gabarit du plugin, magusine est prévu pour 3 colonnes en natif. Ce qu’il se passe, c’est que dans le cas d’un 2 colonnes, les deux contextes se superposent à l’intérieur d’un grand contexte. Pour réaliser un site en trois colonnes, il faut coder les css pour qu’elles affichent ces trois colonnes. Si vous jetez un oeil au theme "cge" (dernière version de magusine), vous avez un bon exemple de comme je conseille de procéder. Cge est un thème en trois colonne décliné en thème deux colonnes : on peut donc selon les cas appliquer le thème en deux colonnes à certaines parties du site, en trois colonnes à d’autres. Dans le cas ou on utilise la version 2 colonnes, les deux contextes restent superposés, pas besoin donc de cacher un des deux contextes.
      J’espère que ceci répond à votre question...

    • Ajouter un bloc "site syndiqué avec pagination" dans les gabarits

      29 janvier 2009, par cilou

      Bonjour
      J’essaye d’installer un système de pagination dans un bloc sur ma page sommaire. Les infos issus d’un site syndiqué s’affichent bien mais lorsque je clique sur un des chiffres (1 | 2), rien ne se passe. J’ai crée une page site_syndic.html (dans pages-custom/modèles)


      <!-- Affichage des 5 derniers articles du site syndiqué -->
      <BOUCLE_syndic(SITES){id_syndic}>
      <B_page>
      <div class="liste-articles">
      <BOUCLE_page(SYNDIC_ARTICLES) {id_syndic} {age<180} {par date}{inverse} {pagination 5}>
      <p class="soustitre">[<small>(#DATE|affdate_court) :</small>] <a href="#URL_ARTICLE" class="spip_out" title="Ouvre un nouvel onglet">#TITRE - #NOM_SITE</a><br />
      [<em>(#TAGS|afficher_tags)</em><br />]
      [(#DESCRIPTIF)]
      </p>
      </BOUCLE_page>
      [<p class="pagination">(#PAGINATION{page})</p>]
      </div>
      </B_page>
      </BOUCLE_syndic>

      Sur les chiffres, les liens sont de ce type : ?debut_page=5#pagination_page
      J’ai fait un essai avec la page site.html et sur les chiffres, les liens sont de ce type : spip.php ?site12&debut_page=5#pagination_page (j’ai compris que site = nom de la page et 12=id_syndic mais après...) J’ai lu et relu le système de pagination, les modèles de Spip, testé #ENV, #SELF mais je bloque complètement.
      Merci pour votre aide

  • Ajouter un bloc newsletter dans le gabarit sommaire

    6 septembre 2008, par Thierry

    Bonjour,
    J’ai découvert SPIP il y a peu et je viens de découvrir magusine. Bel outil, chapeau.
    Je voudrais ajouter un bloc pour l’abonnement à la newsletter dans le sommaire, mais je suis un peu perdu.
    J’ai pu lire sur le site spip-contrib une discussion à ce sujet où l’on apprend qu’il faut installer le plugin spip-listes et le bloc abo-newsletter.html. Ce dernier fichier est disponible dans la distribution du plugin magusine, mais le bloc n’apparaît pas dans la liste des blocs de réserve du gabarit sommaire.
    Je me demande donc dans quelle mesure il est nécessaire 1/ de créer à nouveau un bloc newsletter, et 2/ de l’insérer dans le gabarit (des pages-customs) comme expliqué ci-avant. D’autant plus, que le bloc abo-newsletter.html fait déjà partie de la liste des blocs de "réserve avancée" dans le fichier de définition du gabarit du sommaire (INSTALLDIR/plugins/magusine/definitions-gabarits/sommaire.xml).
    Je note aussi que sur mon installation, aucuns des blocs de la "réserve avancée" n’apparaissent dans aucun gabarits. En plus du bloc newsletter déjà mentionné, la définition du gabarit comprend d’autres blocs comme "menu-langues" ou "liste-breves-sommaire" qui n’apparaissent pas dans la page du configuration des gabarits : sommaire. Quelle est la différence entre des blocs réserve et des blocs de réserve avancée, et est-il normal que ces derniers n’apparaissent pas dans les pages de configuration ?
    Sorry pour toutes ces questions et merci d’avance pour votre aide.

  • Utilisation de Web Developer

    8 novembre 2008

    Bonjour,
    Tout d’abord, merci. Si j’ai opté pour Spip c’est en grande partie parceque j’ai découvert Magusine. J’utilise le thème Disa, mais j’aimerai y apporter quelques modifications. Les deux plus importantes sont d’y ajouter une colonne supplémentaire afin d’y déposer des rubriques ou des titres par exemples. La seconde concerne les articles et leur ordonnancement. En effet, si la sobriété de ce thème est à l’origine de mon intérêt, je souhaiterais encadrer les articles afin qu’ils soient mieux visibles.
    C’est deux points entraînent une double question : Dans quelle mesure puis-je effectuer l’ajout de la colonne dans le CSS (est ce que le thème le supporte, potentiellement ?), et surtout, comment est ce que l’outil de firefox, Web Developer peut m’y aider ?
    Pour la seconde question, comment ajouter ce cadre (si cela est possible) ?
    J’ai conscience de la longueur des questions. Très bonne continuation.
    Aziz

  • Ajouter un bloc dans les gabarits.... paramètres

    11 novembre 2008, par thomas

    bonjour,
    est il possible de créer un bloc pour lequel on aurai plusieurs paramètres ???

  • Ajouter un bloc dans les gabarits

    17 novembre 2008, par anne guion

    Bonjour, Je n’arrive à drag and droper mes blocs dans les gabarits. Je suis sur Mac, est-ce le problème ? Merci ! Anne

  • Ajouter un bloc dans les gabarits

    31 mars 2010, par fabien

    (On peut ajouter des parametres dans les blocs (menu déroulant ou champ à remplir), voir dans le dossier "definitions-gabarit" du plugin.)
    Je souhaites ajouter un parametre dans le blocs "abo-newsletter" pour me permettre de sélectionné Id liste dans le bloc abo-newsletter. // #FORMULAIRE_ABONNEMENTliste1 ou 2 ...
    Je ne sais comment my prendre :
    bloc statut="4" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="1" paramdescr="plugin_spip-listes">abo-newsletter
    et ?? pour la suite
    Merci pour votre plug vraiment génial