La fonction de ce plugin est de sélectionner le « bon » squelette quand il y a plusieurs possibilités. Par exemple quand il existe un squelette d’article album photo et un squelette d’article ordinaire. Cette fonction existe déjà dans Spip avec des numéros de rubriques : tous les articles d’une rubrique peuvent avoir un même squelette différent du reste du site. Ce plugin permet un selection plus fine en permettant de choisir le squelette pour un article ou une rubrique en fonction d’un mot clef qui lui est associé. Le plugin va ajouter cette nouveauté en se substituant à Spip pour la partie recherche de squelette.
La sélection de squelette par mot-clé peut toujours se faire avec une boucle (voir ici comment) mais le Plugin est supposé plus performant. D’un point de vue mise en place, il faut troquer la boucle traditionnelle contre une approche installation et configuration du Plugin.
Le Plugin en action lors d’un appel de page
Lorsqu’un article, par exemple, est demandé, le plugin fonctionne comme ceci :
- s’il existe un fichier « article=10.html » et que l’article demandé se trouve dans la rubrique N° 10, alors ce fichier sera retenu comme squelette
- s’il existe un fichier « article-10.html » et que l’article demandé se trouve dans la rubrique N° 10 ou encore dans une de ses sous-rubriques sans limitation de profondeur, alors ce fichier sera retenu comme squelette
- s’il existe un fichier « article-album.html » et que l’article demandé est lié à un mot-clé « album » reconnu comme sélecteur de squelette [1], alors ce fichier sera retenu comme squelette
- s’il existe un fichier « article-album.html » et que l’article demandé se trouve dans une rubrique ou encore dans une de ses sous-rubriques sans limitation de profondeur, qui est liée à un mot-clé « album » reconnu comme sélecteur de squelette, alors ce fichier sera retenu comme squelette
- si rien n’a été retenu jusqu’ici, « article.html » sera l’élu.
La recherche s’effectue dans l’ordre précédent en respectant la logique qui a toujours prévalu avant dans SPIP : le plugin ajoute simplement les étapes 3 et 4, avec une même notation qui évite les duplications ou renommages de fichiers squelette.
De plus, le Plugin prend en considération la langue du site ; ainsi pour le Français, il retiendra article-album.fr.html de préférence à article-album.html suivant la notation habituelle de SPIP pour les suffixes de langue.
La mise en oeuvre du Plugin par le Webmestre
On suppose que notre squelette d’album est en place (/squelettes/article-album.html), et que le mot clé « album » a été créé avec possibilité d’être associé à des articles ou à des rubriques.
Installation
Après avoir téléchargé le plugin sur le serveur de fichier de la Zone :
Il faut le décompresser et transférer le répertoire chercher_squelettes_mots par ftp sur votre serveur dans le répertoire plugin.
Activation
L’étape suivante consiste à activer le Plugin, ce qui est fait au moyen du bouton de gestion de Plugin qu’on trouve dans la partie privée de SPIP (à partir de SPIP 1.9).
Le premier effet de cette activation est que l’on voit apparaître un nouvel onglet dans la page de configuration du site (Cf. « Configurer Squelette Mots » à droite dans l’image ci dessus). C’est par lui qu’on va pouvoir déclarer les mot-clés reconnus par le Plugin [2]. Tant que rien n’est configuré le Plugin passera de l’étape 2 à l’étape 5, comme le ferait la fonction « chercher squelette » du noyau, puisque le Plugin a pris la main sur Spip pour la recherche du bon squelette (second effet de l’activation).
Configuration
Il est temps maintenant d’entrer une « règle » dans le configurateur du Plugin. Celle-ci permet de déclarer « album » comme mot-clé sélecteur de squelette en lui associant un « type » [3] ; dans notre exemple : article. Une règle associe un groupe de mot à un type. L’exemple qui suit montre que le Plugin détecte 2 mots-clés dans le groupe « groupe squelette article » : album et toto en affichant les noms de fichiers squelette correspondants en vert (trouvé) ou en rouge (pas trouvé).
On pourra ajouter autant de régles que l’on veut tant que l’on crée les squelettes et mot-clés correspondants.
Le reste relève alors des rédacteurs/administrateurs qui n’ont plus qu’à ajouter le mot-clé « album » aux articles qu’ils souhaitent (par exemple).
On a vu que le mot-clé est associé à un article (le type) dans une règle, alors qu’il peut être ajouté indifféremment à des rubriques ou à des articles. Bien que le rédacteur n’ait aucune visibilité sur le configurateur, il doit comprendre qu’un mot-clé sélecteur appliqué sur une rubrique aura un effet sur la présentation des articles de cette rubrique car, comme Mr. Jourdain, il manipule des squelettes sans le savoir. Si cette logique est trop déroutante, l’administrateur peut toujours restreindre le champ d’application du mot-clé aux seuls articles. [4]
Fond
L’administrateur peut préciser le « fond » dans une règle. Ce fond est le préfixe du squelette, par exemple, pour article-album.html c’est « article », pour rubrique-album.html, c’est « rubrique », etc...
Attention : Il ne faut pas confondre la valeur du fond avec le type d’objet affiché dans l’article (article, rubrique) ni avec le nom du groupe de mot clef de la règle. Le fond permet simplement d’appliquer la règle à d’autres pages que les pages de base de SPIP.
Ce raffinement peut être vu comme une complication, mais cela à l’avantage de faire accepter les règles pour des squelettes d’inclusion (des bouts de squelette donc) et pas seulement sur des squelettes complets.
Attention : Pour que les règles marchent sur les inclusions, il faut que celles-ci aient l’id de l’objet (article, rubique, etc...) dans le context, par exemple : <INCLURE{fond=news} {id_article}>
.
Discussions par date d’activité
31 discussions
Bonjour,
Je travaille actuellement sur un portail reposant sur SPIP 2.0
Est-ce qu’une date de sortie de ce plugin est prévue prochainement afin que je sâche si je le prévoir dans mes DEV ou pas ?
Bon réveillon et bonne année 2009.
Pierre
Répondre à ce message
bonjour et encore merci pour ce plugin
Petit problème, je n’arrive pas a définir 2 fonds pour article ou rubrique :
lorsque je choisis fond article celui ci efface le premier, même si le mot clef est différent...
Quelqu’un a t il rencontre ce problème ?
Merci d’avance, je patauge.........
oups je viens de comprendre,
il est donc possible de créer des articles avec les différents mots clefs du même groupe....
Il n’est pas possible de créer 2 fonds articles avce 2 differents groupes de mots clefs.
j’ai mis du temps a saisir...
Merci en tout cas
plugin bien pratique...
Répondre à ce message
Ok, merci mortimer. C’est vrai que ce plugin est très intéressant. Je commence à beaucoup l’utiliser sur mes nouvelles créations.
Répondre à ce message
Bonjour,
Avec la Version : 0.1 | stable
Répertoire : squelettes_par_mots_cle_1_92
Sur un spip 1.9.2d
Je n’arrive pas à configurer correctement :
J’ai les squelettes (dans squelettes) article-agenda.html ; article-forum.html ; article-normal.html
J’ai un groupe de mots-clefs « squelette » (bien reconnu), applicable sur :
qui comprend les mots : forum ; agenda ; normal.
Lorsque je définis fond : article ; groupe : squelette ; type : article
j’obtiens :
0 squelette(s).
article-forum_.html
article=forum_.html
article-agenda_.html
article=agenda_.html
article-normal_.html
article=normal_.html
(cette liste en rouge)
C’est à dire que le plugin cherche apparemment des noms de squelettes se terminant avec un _.
Où est l’(mon ?) erreur ?
Merci
Répondre à ce message
Bonjour à tous,
Merci aux auteurs de cet excellent plugin que j’utilise sur tous mes sites en Spip. J’ai juste mis un certain temps à comprendre la notion de « fond » et de « Type », notamment pour traiter le cas où l’on applique un mot clef à une rubrique non pas pour changer son squelette, mais celui de ses articles. Je trouve qu’il n’est pas évident de comprendre de prime abord, que le fond ne sert qu’a sélectionner le type de document auquel s’applique le squelette alors que Type se rapporte au type de document auquel est appliqué le mot clef.
Que penseriez vous de préciser la règle qui s’applique dans les cas 3 et 4 de l’exemple de la documentation :
Répondre à ce message
Bonjour,
Merci pour ce plugin qui marche impeccable pour des articles standards.
Petit problème : s’il existe un squelette article-6.html pour les articles de la rubrique 6, ce squelette reste prioritaire sur mon squelette par mot-clé, qui ne fonctionne pas.
Y a-t-il un moyen de forcer la priorité ?
Merci
Monique
Hum, actuellement, le plugin est codé comme cela, je ne pense pas qu’il y ait un moyen simple de changer la chose, sauf si tu changes l’ordre du code :(
Répondre à ce message
Salut
j’ai mis en place ce plugin, et je vous remercie pour sa création.
J’utilise spip 1.9.2b et j’ai installé le plugin ’Version : 0.1 (1.9.2) | stable
Répertoire : squelettes_par_mots_cle_1_92SVN
DONC, ca marche nickel sur Safari, Fire Fox et même Internet explorer pour mac...
MAIS la page ne s’affiche pas avec Internet Explorer pour Windows... Rien de rien.. Juste le menu déroulant... et cela pour tous les articles qui sont associés à un mot clé (et donc à un squelette particulier).
Voici une des pages qui utilisent une squelette particulier : http://www.lairederien.net/spip.php......
Je ne sais vraiment pas quoi faire... J’espère que quelqu’un ici, pourra m’apporter un petit bout d’explication, voire de solution...
Merci encore pour le plugin...
Amitiés
Hum, ça me parrait étrange que cela soit lié à ce plugin. En effet, tout se passe du côté serveur et il ne demande rien aux navigateurs.
Tu es sûr que ce n’est pas due à ce que ton squelette spécial contient ? tu as essayé en l’accedant directement ?
Désolé... vraiment...
C’était une erreur dans la programmation, une commande qu’IE ne peut pas lire mais qui n’a rien à voir avec ce plugin... DONC c’est résolu.. Et encore désolé pour le dérangement...
Amicalement
C.
Répondre à ce message
Suite à l’activation du plugin, un article qui redirige vers un autre (http://test.domaine.fr/spip.php?article34 => article8) affiche l’erreur suivante :
« Fatal error : Call to undefined function : redirige_par_entete() in d :\mesdoc\chimie\spip\ecrire\public.php(173) : eval()’d code on line 1 »
Sinon pas de pb en 1.9.2b pour ma part.
J’ai pu corriger le problème en remplaçant le code suivant du fichier « squelettes_par_mots_cle_1_9\public\parametrer.php » :
par
ce dernier est le code de la distribution ecrire/public/parametrer.php
Salut,
si tu utilise une 1.9.2, tu ne devrais pas utilise squelettes_par_mots_cle_1_9, mais la version spécifique pour la 1.9.2.
J’ai changé le lien dans l’article pour que ce soit plus clair.
Répondre à ce message
slt
j’ai un probleme avec le plugin pouvez-vous m’aider svp ?
Voir le probleme
donc enfaite, pour les squelettes article-Test, article-Dossier et article-Preview ca fonctionne très bien par contre pour les autres, news-Autre... ca ne fonctionne pas du tout et pourtant le mot clé est bien associer a l’article donc je ne comprend pas, la preuve que le mot clé est bien associer car si je modifie la regle et que je remplace « news » par « article » ca fonctionne
merci
tu as bien créé une règle dans la configuration avec fond=news et type=articles ?
voici la page de configuration
ca fonctionne avec article-Test.html... et pas avec news-Autre.html...
j’ai essayer avec news- et news= ca ne fonctionne pas par contre si je modifie la regle et qu’ a la place de news je met article et que je renome ma page par contre la ca fonctionne
personne n’a ce probleme la ?
est ce que quelqu’un peut m’aider svp je suis vraiment bloquer
merci
toujours personne pour m’aider
svp j’ai vraiment besoins d’aide, les créateurs du plugins peuvent-ils m’aider ?
Merci
désolé, j’ai trop de travail et je ne peux pas m’oqp de trouver les bugs de ce plugins pour l’instant.
est ce que quelqu’un est arrivé a faire fonctionner ce plugin avec un autre fond que « article » ?
si je met fond « news » ca ne fonctionne pas
si je met fond « article » ca fonctionne
pour que cela marche sur les fonds en inclusion, il faut bien penser à passer l’id_article dans l’inclusion.
Répondre à ce message
moi si je regle comme ca :
Fond : « news » Groupe : « Support_news » type : « articles » ca ne fonctionne pas et pourtant il détecte bien les pages et il n’y a qu’un mot clé par article
personne n’a ce probleme ?
Merci
pour que cela marche sur les fonds en inclusion, il faut bien penser à passer l’id_article dans l’inclusion.
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 :
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.
Suivre les commentaires : |