Un seul plugin pour tt_news !
Je vais vous conter ici une astuce que je viens de trouver alors que je suis en train de travailler à la migration d’un “gros” site ministériel dont je tairais le nom
Sur ce site, nous avons une section avec les 17 régions administratives du Québec et nous devons y retrouver 17 plugins “tt_news” pour y gérer des communiqués de presse. Cela nécessite un total de 34 (2×17) plugins : un pour la vue LIST et un autre pour la vue SINGLE.
Afin d’économiser un nombre de plugin, nous nous sommes dit que nous pourrions peut-être trouver un moyen pour n’avoir qu’un seul plugin qui afficherait la liste, ainsi que le détail d’un communiqué, chose qui n’est pas possible nativement avec l’extension “tt_news”. Toutefois, avec un peu de Typoscript il s’avère que nous pouvons faire quelque chose de fonctionnel.
Avant d’ajouter des lignes de Typoscript, il faut placer un plugin sur la page, remplir tous les champs nécessaires comme d’habitude sauf que dans ce cas là, il ne faut pas sélectionner de CODE (LIST, SINGLE, ..). De même qu’il ne faut pas préciser de lien vers la page détail, vu que celle-ci s’affichera sur la page courante. Je vous rappelle ici pour ceux qui ne le seraient pas, qu’il est toujours préférable de préciser le gabarit html en typoscript que via la configuration du plugin, tout simplement parce que si vous souhaitez modifier des informations dans votre gabarit html personnalisé, les changements apparaitront instantanément quand c’est précisé via le typoscript.
Voici les quelques lignes de typoscript (setup) à mettre en place sur la section où se trouve le plugin en question :
plugin.tt_news.code.field > plugin.tt_news.code = LIST [globalVar = GP:tx_ttnews|tt_news > 0] plugin.tt_news.code = SINGLE [GLOBAL]
Et les explications qui vont avec :
plugin.tt_news.code.field >
Cette ligne indique que nous ne souhaitons pas lire le contenu du CODE indiqué dans la configuration du plugin. Pour ceux qui ne le savent pas (mais si vous connaissez ou utilisez “tt_news”, cela vous semblera évident), vous devez choisir un CODE entre LATEST, LIST, SINGLE, AMENU, … qui définira la vue utiliser par l’extension, soit afficher les dernières nouvelles, soit la liste complète, les archives, …
Une fois que nous avons indiqué ne plus vouloir utiliser le CODE, nous devons dans ce cas en indiquer un nouveau, c’est ce que fait la ligne d’après :
plugin.tt_news.code = LIST
Ici nous demandons d’avoir la liste des nouvelles par défaut. Si nous nous rendons sur la page, nous devrions avoir la liste des nouvelles qui s’affichent
À présent, nous devons nous occuper de la vue SINGLE (détail), car si nous cliquons sur une nouvelle provenant de la liste, nous resterons sur la même page, mais sans le détail complet de la nouvelle.
Pour forcer le plugin à passer en mode SINGLE (détail), il faut modifier la ligne précédente ainsi :
plugin.tt_news.code = SINGLE
Mais il faut le faire au moment opportun et nous allons utiliser les conditionnelles en Typoscript pour détecter quand une page détail à été demandée, ainsi :
[globalVar = GP:tx_ttnews|tt_news > 0]
Cette condition est exécutée lorsque la variable “tx_tt_news[tt_news]” est rencontrée dans l’url et que sa valeur est supérieure à zéro. C’est le cas de tous les liens qui pointent vers la vue détaillée d’une nouvelle
Si vous utilisez ce code et qu’il n’y a aucun problème particulier, alors faites-le-moi savoir !
===== MISE A JOUR du 23/12/07 ====
Oups, en relisant la doc de tt_news ces derniers jours, je me suis rendu compte que cette astuce existait déjà. Sans doute que mon subconscient l’avait gardé en mémoire et que je ne m’étais pas rendu compte que c’était dispo dans la documentation sur ce lien.
Catégorie(s) : CMS/SGC
Tag(s) : tt_news, TYPO3, typoscript



















