[plugin] hookMyTheme

novembre 2021 modifié dans Plugins
HookMyTheme - Version 1.0 (20/03/2021)

Petit plugin regroupant les 2 HOOKs du theme et ajoutant un HOOK customisable sur une balise du théme.-|/-.
Les fichier PhP du théme peuvent être affiché pour rechercher la balise où appliquer votre hook.-|/-. A utiliser avec précaution.

archive du plugin sur github @ https://github.com/gcyrillus/plx-hookMyTheme/archive/refs/heads/main.zip

idée premiere evoqué ici : https://forum.pluxml.org/index.php?p=/discussion/6919/ajout-dun-hook-sur-le-theme-actif-ou-pas

Je partage aujourd'hui un plugin perso que je viens d'utiliser pour facilement injecter dans le thème en cours le petit code du plugin plxMySkinSelect qui se trouve ici : https://github.com/Pluxopolis/plxMySkinSelect . En effet , au lieu d'éditer un a un les thèmes, pour y insérer ce code, je me suis servis de ce plugin sans toucher aux thèmes.

Quelque soit le thème en cours, ce code

<div id="themes"><style>#themes {position: fixed;bottom: 0;z-index: 10;display: flex;gap:1rem;padding: 0 1rem;left:0;background:white;color:#333;}#themes>*,#themes>*>*,#themes>*>*>*{padding:0!important;margin:0!important;line-height:1.2}</style><h3>Th&egrave;mes</h3><?php eval($plxShow->callHook('MySkinSelect')) ?></div>

est injecté avant la fermetur de body.

L'idée était de mettre en ligne la démo des quelques thèmes que j'ai récemment mis en ligne pour PluXml , visible à http://gcyrillus.alwaysdata.net/ et je m'aperçois que ce petit plugin peut rendre services à d'autres ;).

Cdt

♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins pour PluXml : https://github.com/gcyrillus }-))))°> ♣♣♣♣

Mots clés:

Réponses

  • bonjour,

    Il y a le plugin kzSkinSelect qui permet de sélectionner un thème sur un site de démo :
    https://kazimentou.fr/repo/index.php?plugin=kzSkinSelect&download
    Il suffit juste d'activer le plugin.

  • novembre 2021 modifié

    @bazooka07 , bonsoir, oui en effet, mais ce n'est pas le but premier de ce plugin, si l'exemple était avec le code à injecter du plugin plxMySkinSelect, on peut aussi en même temps ajouter un formulaire de recherche dans la sidebar ou le header , il permet d'injecter dans head, avant la fin de body ou d'accrocher n'importe où sur une balise HTML du HTML ou du PHP (ajouter un hr aprés chaque ul de la sidebar, changer un mot pour un autre, injecter une image, une feuille de style, ... entre autres exemple possible) sans avoir à éditer aucun fichier du thème ;)

    Le plugin permet de charger les fichier du thème(readonly) pour en visualisé le code et cibler une balise ou des balises récurrentes de la structure principale.

    Sur un site de démo en ligne ou en local, on peut aisément jouer avec les template sans y toucher . en réinjectant du code php dans les fichiers du thème on peut tout simplement refaire de petit plugins dans le plugin sans avoir à un redévelopper pour tester 3 lignes de codes, un compteur de visites, injecter un formulaire de contact, une bannière ou d'horribles pubs, une page statique dans un article, En fait chacun y verra une utilité ou non à l'usage et selon son imagination .
    cdt,GC

    edit

    exemple su le site de démo des thèmes ou l'on peut modifier lire la suite de XXXX en lire le suite de la fable: XXXX en sus du HTML/PHP ajouter à la fermeture de body
    image

    ♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins pour PluXml : https://github.com/gcyrillus }-))))°> ♣♣♣♣

  • cpalocpalo Member
    9 févr. modifié

    Bonsoir
    Interessant ce petit plugin. Il va remplacer celui que j'avais fait plsCustomCss pour insérer en dernier une feuille de style css.
    Par contre j'ai ce message d'erreur :

    Warning: fopen(F:\htdocs\pluSimpleXml\themes\plusimple-newtheme): failed to open stream: Permission denied in F:\htdocs\pluSimpleXml\plugins\hookMyTheme\config.php on line 63
    
    Et sur le front-end
    Notice
    Undefined index: tag1 in
    F:\htdocs\pluSimpleXml\plugins\hookMyTheme\hookMyTheme.php
    on line
    49
    Notice
    Trying to access array offset on value of type null in
    F:\htdocs\pluSimpleXml\plugins\hookMyTheme\hookMyTheme.php
    on line
    49
    Notice
    Undefined index: ThemeEndHead in
    F:\htdocs\pluSimpleXml\plugins\hookMyTheme\hookMyTheme.php
    on line
    66
    Notice
    Trying to access array offset on value of type null in
    F:\htdocs\pluSimpleXml\plugins\hookMyTheme\hookMyTheme.php
    on line
    66
  • cpalocpalo Member

    Oups. C'est ok.
    Dans configuration , comme je n'avais pas de hook à insérer dans l'immédiat je n'avais pas fait fait enregistrer. Et donc le plugin apparaissait comme non configuré

  • Bonjour @cpalo

    Merci de ton retour et content qu'il te soit utile aussi,
    J'ai fait une petite mise à jour du plugin pour initialisée les 4 variables de configuration du plugin pour éviter ce genre de désagrément.

    J'ai ajouté dans public function __construct($default_lang) { ....}

        # initialisation variables
        $this->aParams['tag1'           ]['value']= $this->getParam('tag1'          )   =='' ? '' : $this->getParam('tag1'          );
        $this->aParams['tag2'           ]['value']= $this->getParam('tag2'          )   =='' ? '' : $this->getParam('tag2'          );
        $this->aParams['ThemeEndBody'   ]['value']= $this->getParam('ThemeEndBody'  )   =='' ? '' : $this->getParam('ThemeEndBody'  );
        $this->aParams['ThemeEndHead'   ]['value']= $this->getParam('ThemeEndHead'  )   =='' ? '' : $this->getParam('ThemeEndHead'  );
    

    ♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins pour PluXml : https://github.com/gcyrillus }-))))°> ♣♣♣♣

Connectez-vous ou Inscrivez-vous pour répondre.