Jeu de squelettes Multiflex 3

Jeu de squelettes hautement paramétrable et modulable pour SPIP 2 et 3

Multiflex 3 est un jeu de squelettes (XHTML Strict) hautement paramétrable (nécessite le plugin CFG) depuis l’interface privée de SPIP et facilement modulable grâce aux nombreuses noisettes utilisées possédant diverses options.

Page d’accueil du squelette Multiflex

L’habillage graphique Multiflex 3 a été développé par G. Wolfgang. Les squelettes SPIP ont été réalisés avec la version 3.8 de Multiflex.

Attention : Ce squelette ne fonctionne actuellement qu’avec une version de SPIP >= 2

Paramétrages généraux

Configuration CFG
Configuration CFG de Multiflex

Les squelettes sont paramétrables de 2 façons :

  • l’une par CFG, où l’on n’a aucunement besoin de toucher aux fichiers squelettes
  • l’autre par surcharge des fichiers de ce jeu de squelettes (nous verrons plus loin).

Il faut donc aller dans « Configuration>CFG>Configuration du Squelette Multiflex » pour obtenir la page de paramétrage. On peut sur cette première page choisir des textes qui s’affichent dans l’en-tête. Il est possible d’utiliser la balise SPIP <multi> pour un site multilingue.

Sur la gauche, une boite contenant des liens permet d’obtenir d’autres paramétrages. Commençons par « Multiflex Layout »

Choix du layout

CFG Layout
Configuration du layout Multiflex par CFG

Il est possible de sélectionner un en-tête différent, et un corps sur 1, 2 ou 3 colonnes. Ces modifications se passent sur la page de configuration CFG ’Multiflex Layout’ :


Multiflex 2 colonnes
Layout avec « bandeau+menu » et « 2 colonnes inversées »

Ainsi, en sélectionnant un affichage sur « 2 colonnes inversées » et un en-tête avec simplement « bandeau + menu », on obtient ceci :

Sur cet exemple, il y a un trop grand nombre de rubriques donc le menu haut s’affiche sur 2 lignes ce qui est moins joli.


Multiflex 2 colonnes
Le menu latéral est complété ainsi que le centre par les informations normalement présente dans la 3è colonne

Tout en bas de la page, ce qui s’affiche lorsque l’on choisit 3 colonnes comme layout dans l’une des colonnes, s’affiche maintenant à la suite des liste d’articles (et à la suite de la première colonne - mais on peut choisir facilement entre l’un ou l’autre, cf. paramètres des noisettes plus bas) :


multiflex 1 colonne
Configuration avec une seule colonne pour l’ensemble de la page

En sélectionnant un affichage « 1 colonne » avec « Titre + menu » pour l’en-tête, cela donne :

Choix de navigation

Multiflex CFG Navigation

En allant sur le lien « Multiflex Navigation », il est possible de choisir quelques styles pour la navigation en colonne, ainsi que de définir 2 identifiants d’articles « Contact » et « A propos », liens qui se créeront alors dans l’en-tête du site.


Navigation à puces

Sur les captures précédentes, le style du menu était « Grille ». Voici « Puces », avec « Contact » non remplit (il n’apparait plus dans les liens à gauche de ’plan du site’) :

Choix de couleurs

Couleurs par défaut
Rendu des couleurs par défaut

Il est possible sur la page de configuration « Multiflex Couleurs » de proposer des couleurs pour les liens, les cadres de la troisième colonne ainsi qu’une teinte pour l’ensemble du site. Installer le plugin « Palette » vous permet de choisir des couleurs très facilement. Voici les valeurs par défaut :


Voici deux aperçus avec des valeurs différentes (il faut absolument vider le cache pour obtenir un recalcul des fichiers css compilés par SPIP) :


Surcharge et options des noisettes et squelettes

Ce squelette s’installant et s’activant comme un plugin (dans le dossier /plugins ) il est possible de surcharger ses fichiers dans son propre dossier squelettes.

Un fichier /plugins/squelette_multiflex/repertoire/fichier.ext peut être copié et modifié dans /squelettes/repertoire/fichier.ext, ce sera ce dernier qui sera lu par SPIP s’il existe.

Prenons l’exemple de l’affichage 2 colonnes qui place le contenu prévu normalement dans la 3è colonne à la suite des 2 premières. Ces informations sont donc affichées en double (page sommaire et rubriques) mais il est possible simplement de modifier cela.

Si vous copiez dans /squelettes et éditez le fichier layouts/layout2.html qui structure la page en 2 colonnes, vous verrez le code (s’il n’a pas changé depuis !) :

<!-- B. MAIN -->
<div class="main">

  <!-- B.1 MAIN NAVIGATION -->
  <div class="main-navigation">
    <!-- Navigation Level 3 -->
    <div class="round-border-topright"></div> 
	<INCLURE{fond=inc-colonne}{env}{mfx_supplements=oui}>  
  </div>

  <!-- B.1 MAIN CONTENT -->
  <div class="main-content">
	<INCLURE{fond=inc-centre}{env}{mfx_supplements=oui}>
  </div>
</div>

C’est la variable {mfx_supplements=oui} qui indique que les supplements (ce qui devrait s’afficher dans la 3è colonne si l’on choisit cet affichage) doivent s’afficher... ou non. En mettant dans la partie navigation {mfx_supplements=non}, les suppléments ne se mettront pas dans la colonne de navigation tout simplement.

Des noisettes en veux-tu en voilà !

Un certain nombre de noisettes (petits bouts de squelettes) sont présentes dans le répertoire /noisettes de Multiflex. Elles recellent souvent des paramètres qu’il est possible d’utiliser lorsqu’on les appelle avec <INCLURE> ou #INCLURE

Par exemple, voici un extrait de code présent (s’il n’a pas changé depuis) dans /noisettes/sommaire/centre.html qui correspond à ce qui va s’afficher dans la colonne centrale de la page sommaire :

<!-- Pagetitle -->
<h1 class="pagetitle"><:multiflex:actualites:></h1>

[(#REM) Articles sur une colonne (div par article)]
[(#INCLURE{fond=noisettes/article/inc/intro_articles}{env}
	{mfx_pagination_nombre=2}
	{mfx_pagination_liens_pages=non}
	{mfx_doublons=art_sommaire}
	{mfx_unique=#HASH_DOUBLONS}
	{mfx_afficher_lire_suite=oui}	
	{mfx_lien_sur_titre=oui}
	{mfx_couper_texte=500}
)]


<div class="column2-unit-left">
[(#INCLURE{fond=noisettes/article/inc/intro_articles}{env}
	{mfx_pagination_nombre=3}
	{mfx_pagination_liens_pages=non}
	{mfx_doublons=art_sommaire}
	{mfx_unique=#HASH_DOUBLONS}
	{mfx_afficher_lire_suite=oui}	
	{mfx_lien_sur_titre=oui}
	{mfx_couper_texte=400}	
)]      
</div>


<div class="column2-unit-right">
[(#INCLURE{fond=noisettes/article/inc/intro_articles}{env}
	{mfx_pagination_nombre=3}
	{mfx_pagination_liens_pages=non}
	{mfx_doublons=art_sommaire}	
	{mfx_unique=#HASH_DOUBLONS}
	{mfx_afficher_lire_suite=oui}	
	{mfx_lien_sur_titre=oui}
	{mfx_couper_texte=400}		
)]       
</div>
<!-- hr class="clear-contentunit" / --> 

On peut observer que cette noisette appelle 3 fois la noisette noisettes/article/inc/intro_articles.html avec des paramètres qui sont assez explicites.

Cela affiche 2 articles au centre, puis dessous, coupant la page en 2 colonnes, les 3 articles suivants sur une moitié gauche, puis les 3 articles suivants sur la moitié droite. Il est possible de créer 3 colonnes en utilisant les classes css "column3-unit-(left|middle|right)

Les paramètres disponibles sont généralement documentés dans la noisette qui les possède. Vous pouvez donc facilement créer de nouvelles noisettes ou modifier celles existantes pour agrémenter les squelettes.

Note sur les doublons

Les paramètres {mfx_doublons=art_sommaire} et {mfx_unique=#HASH_DOUBLONS} permettent de gérer des doublons entre squelettes appelés par une balise #INCLURE, ce que ne permet pas SPIP actuellement (et pas <INCLURE> non plus). Les balises permettant cela (#HASH_DOUBLONS et ses compagnes non mentionnées ici) sont définies dans les fichier multiflex_fonctions.php

Exemple de surcharge : changer l’image du bandeau

Vous devez copier /plugins/multiflex3/img/bg_head_middle.jpg dans votre dossier squelettes /squelettes/img/bg_head_middle.jpg, puis modifiez cette image, qui doit être, par défaut de 900*150px.

Utiliser Multiflex 3 pour un site multilingue

Le squelette multiflex permet de gérer facilement un site multilingue. Il existe plusieurs méthodes pour activer le multilinguisme. J’en
présente une ici.

Evidemment avant tout le reste, le multilinguisme doit être activé dans Spip. L’approche utilisée ici repose sur des rubriques dont les titres sont traduits grâce aux balises - ces rubriques
contiennent les articles et leurs traductions.

Pour activer le multilinguisme dans le squelette,
-  ajouter l’option $forcer_lang=true; dans le fichier
/config/mes_options.php
Si vous n’avez pas de fichier mes_options.php, vous pouvez le créer avec
le contenu suivant :

<?php
	$forcer_lang=true;
?>

-  créer un fichier entete_langues.html dans le répertoire
/squelettes/noisettes/navigation, ce fichier doit contenir :

<B_langues>
<!-- Navigation Level 0 -->
<div class="nav0">
  <ul>
	#MENU_LANG
  </ul>
</div>	
</B_langues>

Désormais, votre site basé sur Multiflex devrait fonctionner
correctement avec plusieurs langues.

Les mots-clés du squelette et leurs utilisations

Le comportement du squelette peut être adapté à l’aide de quelques mots-clés. Pour créer un mot-clé, entrer dans l’espace d’administration de votre site, onglet « Edition » puis « Mots-clés » et là choisir créer un nouveau mot-clé.

Il est ensuite possible d’affecter un mot-clé à un article (dans la fenêtre d’édition de l’article).

-  Le mot-clé ’edito’ permet d’afficher un article « A la une » sur la page sommaire du site.

-  Le mot-clé ’Pas_dans_le_menu’ permet de ne pas afficher dans le menu de navigation latéral les rubriques contenant ce mot-clé

Obtenir Multiflex 3 pour SPIP

Ce squelette est disponible en téléchargement sur la Zone :

Dépendences :
Multiflex nécessite SPIP 2 ou SPIP 3, ainsi que 2 plugins :

  • CFG version 1.10.2 ou supérieure
  • Palette 1.0 ou supérieur (optionnel)

Installation :
Multiflex s’installe comme un plugin dans le dossier /plugins

SPIP (>1.9.2) sait télécharger et installer automatiquement des plugins.

  1. créer un répertoire avec accès en écriture /plugins/auto
  2. se rendre dans la partie privée dans « Configuration>Gestion des Plugins »
  3. en bas dans le cadre « Ajouter des plugins » se trouve le champ « Adresse du plugin ou de la liste » ; Y copier l’url d’exemple (http://files.spip.org/spip-zone/paquets.rss.xml.gz) puis valider
  4. une liste de plugins aparait dans le même cadre ; selectionner ’squelette_multiflex3’ et valider ;
  5. une procedure d’installation s’effectue.
  • Refaire les points 4 et 5 avec les plugins nécessaires (CFG et Palette)
  • Activer ensuite les plugins téléchargés, installés dans le répertoire ’auto’.

Pour modifier les configurations CFG de Multiflex, vous devez être déclaré ’webmaster’, ce qui se fait en ajoutant dans son fichier config/mes_options.php le code php suivant :

// webmestres (auteurs 1 & 2 ici)
define('_ID_WEBMESTRES', '1:2');

Discussion

247 discussions

  • 1

    bon.. un premier pas vers la connaissance de spip (et de nombreux test en local)
    Pour avoir d’affiché « en | fr | ja » dans la barre de langue, il faut au minimum 1 article de publié dans chacune des langues...

    Par contre il faut utiliser une commande pour forcer le lang dans l’adresse. Normalement il est indiqué dans mes_options.php « $forcer_lang = true ; » mais le forcing ne se fait toujours pas...

    Par contre quand on remplit le texte d’un article avec :

    <multi>[fr]Test en français [en]Test in english [ja]test en jap</multi>

    et que l’on force manuellement l’anglais, cela fonctionne !

    http://localhost/spipA/spip.php?article1&lang=en

    mais où faut-il aller pour avoir ce paramètre de forcé sur toutes les pages ?

    • Oui, il me semble même que je te l’avais suggéré de créer les articles traduits.

      Pour les titre de rubriques, tu n’aurais pas guère le choix que de mettre des balises <multi> (voir la doc sur spip.net) sur test titres et textes de rubriques.

      Sinon, pourrais tu poster par exemple sur http://spip.pastebin.com/ le code du fichier de langue anglais que tu as fait que je l’ajoute (tu as juste à redonner l’url du générée après la validation du formulaire).

      Bon courage en tout cas !

    Répondre à ce message

  • J’ai rédigé un fichier multiflex_en.php mais même en ajoutant ce fichier et en ayant la case « en » de coché dans la configuration... ça ne change rien, je n’ai pas le lien...

    http://madaj.prod.free.fr/spip/plugins/squelette_multiflex3/lang/multiflex_en.php

    Pourtant c’est bien une boucle qui gère cette barre d’option :

    <BOUCLE_langues(ARTICLES){fusion lang}{par lang}{"|"}>
        <li lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[ (#LANG|=={#ENV{lang}}|?{class="on",''})]>
    	<a href="#URL_SITE_SPIP/?lang=#LANG" rel="alternate" hreflang="#LANG" title="[(#LANG|traduire_nom_langue)]">
    	#LANG</a>
        </li>
    </BOUCLE_langues>

    Mais si je force la demande : http://madaj.prod.free.fr/spip/?lang=en

    Il y a même de basse le japonnais : http://madaj.prod.free.fr/spip/?lang=ja (par contre j’ai fais une erreur, sur spip c’est « ja » et « jp »)

    Mais ceci ne fonctionne qu’avec la page d’accueil

    J’ai bien les menus en anglais, c’est un début même si c’est pas à 100% ce que je voulais... car je voudrai avoir les titres des rubriques aussi de traduit par exemple... un peu comme le site de spip :
    http://www.spip.net/rubrique91.html
    http://www.spip.net/rubrique25.html
    qui propose une bascule entre chaques langues...

    Répondre à ce message

  • Kristoff23

    je pensais que ce que je demandais n’était pas très compliqué vu qu’il s’agit d’une prestation de base de Spip .

    Cependant , au fil des forums , je m’aperçois que la gestion des stats n’est peut-être pas un des points forts de Spip . C’est sans doute dû à l’un de ces points forts : l’utilisation du cache qui ne provoque pas systématiquement le recalcul des pages du site .

    Enfin , si quelqu’un a une solution , ça ne serait pas de refus !

    Répondre à ce message

  • 3

    Je voudrai avoir la possibilité d’avoir mon site en 3 langues : Français Anglais Japonnais
    Normalement il y a la possibilité de mettre une bascule des langues via des boutons en haut à droite... Mais je n’arrive pas à trouver où je dois aller pour ajouter des langues supplémentaires ?
    http://www.spip-contrib.net/IMG/gif/multiflex_1colonne_titre_menu.gif
    J’ai aussi d’afficher « fr » au lieu d’un drapeau, c’est normale ?

    • Pour le [fr] au lieu d’un drapeau, c’est normal, c’est une remarque pertinente qu’on avait soulevé : il vaut mieux mettre le code de langue, qu’une appartenance à un pays... La Belgique qui a 1 drapeau à en effet 3 langues officielles.

      Pour le multilinguisme (je n’ai jamais testé avec ce squelette), mais il s’active dans le privé en allant sur ecrire/?exec=config_multilang je crois (configuration->gestion des langues).

    • ok pour le drapeau... par contre j’ai bien coché les cases « en » et « jp » sur
      http://madaj.prod.free.fr/spip/ecrire/?exec=config_multilang
      mais les liens n’apparaisse toujours pas ?

      J’ai remarqué dans spip/plugins/squelette_multiflex3/lang un fichier multiflex_fr.php
      Mais il n’y a que fr... est-ce que d’autres langue on était réalisé ? (pour le jap je me doute peut être que non, mais pour l’anglais...)

    • Je crois que les liens apparaissent dès lors qu’il y a réellement une première traduction de présente sur le site.
      Pour les fichiers de langue, effectivement, il n’y a que le français. Si tu veux faire l’anglais, le plus simple, et le japonais (mais là j’imagine que c’est complexe)) ce n’est pas compliqué, tu copies multiflex_fr.php en multiflex_en.php et tu le modifies en conséquence. Si tu le fais, n’hésite pas à me le transférer que je l’ajoute au plugin. Sinon, tu peux aussi l’ajouter directement vu que ce plugin est développé sur la zone, mais il te faut connaître SVN ce qui n’est peut être pas ton cas...

      Maintenant, comme je te dis, je n’ai jamais testé les traductions avec ce plugin, et il y a plusieurs méthodes pour réaliser un site multilingue sous SPIP et ce plugin n’est peut être pas (encore) adapté à cela. Toute participation est la bienvenue donc !

    Répondre à ce message

  • Kristoff23

    Existe-t-il un moyen simple de faire afficher le nombre de visites en page d’accueil avec ce squelette très pratique ?

    Je viens de changer pour ce squelette mais le décompte des visiteurs a disparu .

    J’ai installé un plugin qui est censé compter les visiteurs présents mais il ne marche pas ..

    Répondre à ce message

  • Merci
    J’avais bien modifié cette ligne, et vidé le cache de firefox... mais j’avais zappé celui de SPIP sur le serveur...
    http://madaj.prod.free.fr/spip/
    Par contre, maintenant... il va falloir que je règle la hauteur du bandeau et l’espace gauche du titre... (et réduire un poil l’image... 150*150 ça fait un peu gros en fait...)
    ET... JOYEUX NOËL :)

    Répondre à ce message

  • oh ! La terre se passera tres bien de nous.... ;) Oui, et le colibri ne va pas beaucoup mieux. On attend un squelette permaculture, peut-etre un jour ;)

    Répondre à ce message

  • 1

    MERCI. ca semble rouler...
    http://pascal86.permacultureweb.fr

    ancien= http://brindepaille.permaculturefrance.com

    bientot un nouveau site pour brin de paille, l’association de permaculture en France,

    Répondre à ce message

  • pas malin de poster pour rien, mais j’ai trouve mon erreur, tous les repertoires dans le repertoire IMG n’avaient pas ete copiees

    Répondre à ce message

  • juste une question, j’avais auparavant un mot cle « galerie » (sarka spip) qui permettait d’afficher les photos attachees a un article. Maintenant, seulement le nom des photos s’affiche en bas de page (en lien grise), comment faire bien ? Une idee ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom