situation :
Je gère un site « maman_poule » dans lequel je souhaite faire apparaître les productions de sites « poussins ».
Problème : les contenus des différentes rubriques de ces sites ne sont pas tous exempts de... scories (les productions des poussins en difficultés sont parfois surprenantes... dans leur diversité) et le nombre de rubriques y est volontairement restreint.
Dans ces conditions, décider de syndiquer c’est donc choisir entre tout-ou-rien et/ou bloquer-débloquer les liens un par un tous les soirs...
solution proposée : syndiquer les mot-clef
- sur chaque site poussins, je duplique backend.php3 et backend-dist.html
- je renomme les copies en backend-mot.php3 et backend-mot.html
- j’édite backend-mot.php3 pour qu’il appèle backend-mot.html :
$fond = "backend-mot";
- ensuite, j’édite backend-mot.html :
// je remplace <BOUCLE_10recents(ARTICLES){lang ?}{branche ?}... > // par <BOUCLE_10recents(ARTICLES){lang ?}{id_mot ?}... >
• Dans la version d’origine, le critère branche retourne l’ensemble des articles de la rubrique ET de ses sous-rubriques. Comme il n’est pas possible d’appeler directement une branche en faisant par exemple branche=42 on passe la valeur de branche via l’environnement lors de l’appel de la fonction.
• Dans la version modifiée, s’agissant de mots-clefs et plus de rubriques, on pourrait écrire l’ID du mot clef qui nous intéresse « en dur » mais ça ne serait guère souple. Il est bien plus facile d’utiliser là encore le « ? », c’est à dire de faire une boucle générique puis, lors de l’appel de celle-ci, d’indiquer la valeur à mettre dans notre variable d’environnement.
- enfin, je sauvegarde le tout et l’uploade en ftp sur le site poussins
- Là, je note le numéro d’id (xxx) du mot que je veux syndiquer (www.le_site_poussin.net/mot.php3 ?id_mot=xxx)
- puis, dans le site « maman_poule », je syndique le site poussin avec un lien sur le backend-mot.php3
// je remplace xxx par l'id du mot-clef que je souhaite remonter www.leSitePoussin/backend-mot.php3?id_mot=xxx
Dès lors, le site « maman_poule » verra s’afficher les articles du site poussin affublés du mot-clef choisi et non plus tous les articles de telle ou telle rubrique. Il suffira donc au webmestre du site « poussin » de créer un mot-clef « ça_remonte » ou « notre_best_of » pour choisir lui-même ce qu’il fera publier vers le site « maman_poule ».
pour aller un chouillat plus loin
- rendre la sélection de ces nouveaux backend accessibles aux rédacteurs sans avoir à noter de n° d’id sur un bout de papier...
Maintenant que mes deux nouveaux fichiers (backend-mot.html et backend-mot.php3 sont sur chaque site « poussin » (et même sur le site « maman_poule »), il convient d’informer les rédacteurs de cette nouvelle possibilité. On va leur permettre de faire du copier/coller :
- J’édite donc maintenant le fichier ecrire/synchro.php3
- je repère la ligne « $activer_breves = lire_meta(’activer_breves’) ; »
- et juste au-dessus (ou en-dessous, c’est une affaire de goûts), je colle :
/// suivi RSS par mot clef chez nous le groupe des mots-clefs syndiqué = groupe 8 /// à faire : remplacer le blabla par une chaine dans le fichier lang echo "<p>"._L("Vous pouvez aussi limiter la syndication aux thèmes qui vous intéressent :")."</p>"; $query = "SELECT * FROM spip_mots WHERE id_groupe=\"8\" ORDER BY titre"; $result = spip_query($query); if (spip_num_rows($result) > 0) { echo "<ul>"; while($row=spip_fetch_array($result)){ $id_mot=$row['id_mot']; $titre_mot = typo($row['titre']); echo "<li><a href='$adresse_site/backend-mot.php3?id_mot=$id_mot'><img src='img_pack/xml.gif' border='0' align='middle'> $titre_mot</a>\n"; } echo "</ul>"; }
- enfin, je sauvegarde le tout et l’uploade en ftp sur les sites « poussins » et sur le site « maman_poule ». Désormais, le rédacteur de passsage pourra accèder à la liste de nos « mots-clefs syndiqués » :
Discussions par date d’activité
Une discussion
Bonjour,
Je suis sous spip 1.9.1 et j’essaie de créer une syndication par mot clé. J’ai donc créé un fichier backend-mot.html comme expliqué mais celui-ci n’apparaît pas lors de la tentative de syndication sur le site « mère-poule ». Seul le fichier backend simple apparaît. Si je modifie l’adresse par après, rien ne change...
L’article se réfère à une version 1.7.2 et doit encore passer avec une 1.8 quelque chose. Par contre avec une 1.9 et suivante, je n’ai pas eu le temps de me repncher sur la question.
Dès que possible...
Merci pour la réponse ;-)
Ben voilà, quand cette contrib sera réactualisée pour le 1.9.1 ainsi que le plug-in « Spip_lettres », tout ira dans le meilleur des mondes du Spip en ce qui me concerne.
c’est fait... reste plus qu’à mettre à jour le toutim sur spip-contrib mais ça marche en local avec une 1.9.2alpha svn (ça devrait le faire sans problème avec une 1.9.1).
J’essaye de te passer le tout en mail perso puis je m’attaque à la mise à jour de l’ancien article.
romain
Pour une 1.9.1, il faut se référer à la nouvelle version de l’article : ici...
Bravo. Aussitôt dit...
Vivement qu’il soit publié car pour l’instant ton lien file vers l’espace privé où je n’ai pas le droit d’aller...
En tout cas merci, j’ai hâte d’essayer.
« ton lien file vers l’espace privé où je n’ai pas le droit d’aller. »
mais si,
mais si !
C’est simple, rapide, sans danger ;-)
Et puis l’autre côté du miroir permet de s’affranchir des délais de publication qui sont parfois (euh... ont pu être ;-) « un peu long » (parfois).
Sur la page d’accueil, un login (que tu inventes, plus de 5 lettres) et une adresse mail vailde pour récupérer ton password (que tu pourras modifier une fois à l’intérieur). C’est torché en cinq minutes.
rom
Ben je dois avoir un problème quelque part car j’ai beau vouloir me connecter, j’ai systématiquement un message d’erreur
« Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies. Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site). »
Pourtant, je les acceptent ces cookies...
Bon, je suis arrivé dans le saint des saints, j’ai tout modifié comme indiqué. Le gros problème, c’est que quand je veux syndiquer le site poussin à partir du site poule, seul le fichier backend de base apparaît. Backend-breves et backend-mots n’apparaissent jamais. Conclusion, j’ai chaque fois tous les articles de toutes les rubriques qui sont syndiqués...
Où est le problème ?
Comme je viens de comprendre (un peu) la création des plugins, j’ai adjoint à la contrib une version fonctionnelle à placer dans le répertoire _plugins_ à la racine du site.
Ok, ça règle pas ton problème,
mais bon... ça fonctionne en évitant pas mal de manip.
rom
Ben voilà, le problème est résolu : mon fichier backend-mots était dans le dossier squelettes et non dist...
Par contre, j’en ai découvert un autre : j’ai environ un quinzaine d’article avec le mot clé en question et seuls trois de ces articles apparaissent sur le site récepteur. Pourquoi les autres restent-ils cachés ?
ça peut venir de backend-mots.html lui-même.
Dedans, à la fin, on trouve normallement :
Tu peux jouer sur les critères age< xx ou 0,10. Tu peux essayer tous (ou ’tout’,... voilà que j’ai un doute...) jusqu’à trouver le juste équilibre entre tout, trop et trop peu.
bon règlages !
en cadeau bonux, la possibilité de syndiquer les articles selon la langue dans laquelle ils ont été rédigés.
Bon, on approche du but : j’ai plus d’articles qui s’affichent, mais ça ne dépasse par le nombre de 10. Malgré que les critères soient tous avec « 20 » ou « tous ».
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 : |