Comme vous le savez maintenant la prochaine version 2.16 de Dotclear proposera un mode statique pour la page d’accueil. Or les widgets, peut-être pas tous mais la plupart, proposent dans leurs options le choix de s’afficher sur :
- Sur toutes les pages
- En page d’accueil seulement
- Sauf en page d’accueil
Pour que ce fonctionnement perdure et soit correctement géré avec la 2.16, il faudra modifier le code des widgets en remplaçant ceci (pour autant que vous ayez choisi le même principe, en particulier au niveau des « codes » associés aux différents choix, voir plus bas le code associé) :
if (($w->homeonly == 1 && $core->url->type != 'default') ||
($w->homeonly == 2 && $core->url->type == 'default')) {
return;
}
Par cela :
if (($w->homeonly == 1 && !$core->url->isHome($core->url->type)) ||
($w->homeonly == 2 && $core->url->isHome($core->url->type))) {
return;
}
C’est tout :-)
Remarquez que si vous ne touchez à rien et que le blog est configuré pour afficher une page d’accueil statique, alors le widget non adapté considèrera la page d’affichage des billets comme la page d’accueil. En gros rien ne sera cassé, ça fonctionnera juste différement.
—-
Voilà en général le code utilisé pour ajouter une option d’affichage comme décrite ci-dessus :
$__widgets->mywidget->setting('homeonly', __('Display on:'), 1, 'combo',
[__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2]);
1 De Pablo -
Écoute, dans “mon” cas, celui du site atletismosuanzes (qu’on maintient avec Noé), il y a des widgets pour chacune des trois options possibles ; et les widgets sont à leur tour gérés par le plugin “Widgets (widgets)” par « Olivier Meunier & Dotclear team ». Je ne sais pas si, le cas échéant, les responsables du contenu du site préféreront afficher une page statique ou pas… mais en tout cas je n’ai pas bien compris, de la lecture de ton billet :
ni comment ça changera, ou pas, le comportement de nos widgets actuels (mais en tout cas, le moment venu on verra bien, c’est certain !) ;
ni s’il faudra, ou pas, modifier quelque chose “à l’intérieur” du plugin au cas où ça conviendrait
– ou si ce sera plutôt la “Dotclear team” (toi, quoi ?!) qui publiera une nouvelle version du plugin “Widgets (widgets)”… – 🤔 ?
2 De Franck -
Pablo, après avoir fait la mise à jour, tu pourras décider de ne rien changer aux réglages du blog et tout fonctionnera comme avant ;-)
Quoi qu’il en soit, le plugin widget intégré à Dotclear sera à jour et les plugins dont je m’occupe seront publiés le cas échéant, mais les anciennes versions continueront de très bien fonctionner tant que tu ne basculeras pas sur une page statique pour ton blog ou, dans ce cas, si aucun des widgets n’utilise l’option “Page d’accueil” ou “Partout sauf page d’accueil”.
3 De Franck -
Pour donner un exemple où ça ne fonctionnera plus comme attendu :
Dans ce cas, le widget ne s’affichera que sur la page qui liste les billets les plus récents et pas sur la page d’accueil.
4 De Pablo -
Merci de tes réponses !