Aide pour débuter dans la création d'un plugin
Bonjour,
Je me suis enfin bousculer pour écrire mon premier plugin. Je le mettrai dans la page plugin dès qu'il est finalisé ( rien d'orignal ).
Tout d'abord une petite précision:
parfois au lieu d'avoir
Ensuite un besoin d'aide. Dans le dossier du plugin j'ai trois fichiers css correspondant à des thèmes différents. Je souhaiterai donc que le fichier config.php puisse permettre de choisir l'un de ces trois thèmes. Qu'est-ce que je pourrai utiliser comme hook pour cela?
Merci
Je me suis enfin bousculer pour écrire mon premier plugin. Je le mettrai dans la page plugin dès qu'il est finalisé ( rien d'orignal ).
Tout d'abord une petite précision:
parfois au lieu d'avoir
[== PHP ==]
$this->addHook('AdminFootEndBody ','AdminFootEndBody');
public function ThemeEndBody(){}
on peut trouver:
[== PHP ==]
$this->addHook('AdminFootEndBody ','addMyFunction');
public function addMyFunction(){}
Y-a-t-il une différence réelle ou une syntaxe "imposée?Ensuite un besoin d'aide. Dans le dossier du plugin j'ai trois fichiers css correspondant à des thèmes différents. Je souhaiterai donc que le fichier config.php puisse permettre de choisir l'un de ces trois thèmes. Qu'est-ce que je pourrai utiliser comme hook pour cela?
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
1) le 1er parametre de la fonction addHook est le nom du hook connu de PluXml parmi tous les hooks prédéfinis. Le 2ieme paramètre est le nom de la méthode à appeler dans le code de ton plugin. Ce nom c'est toi qui le choisi, peut importe son nom. Perso, j'ai pris l'habitude de donner le meme nom que le hook, ce qui me permet en lisant le code de mes plugins de savoir par quel hook est appelé chaque méthode. Mais libre à toi de faire comme tu veux. Il n'y a pas de règle
2) Si je comprends bien ce que tu veux faire: sur l'écran de config du plugin, tu veux choisir le fichier css à appliquer dans le thème, parmi une liste dispo. Dans ce cas j'utiliserais ThemeEndHead pour déclarer le fichier css à charger coté client.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Pour la dénomination je suivrai ta recommandation.
Pour mon plugin j'avais déjà fait cela dans le cas d'un seul thème. Mais j'aurai souhaité proposer le choix entre plusieurs thèmes. Donc manuellement ( mais il aurait fallu que ce soit dynamique)
et donc modifier le hook précédent par celui-ci: en ayant déclaré la variable:
pour préparer la liste essaye ça :
et ensuite pour afficher le menu déroulant :
Mais les css en question sont dans le dossier du plugin d'où comment remplacer
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
et en fait tu n'as pas besoin du "foreach" donc au final tu peux simplifier le code comme ça :
par
edit: une liste des constantes connues dans PluXml est dispo ici:
http://pluxopolis.net/article59/liste-des-constantes-dans-pluxml
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)