[plugin] modules - plugin permettant de charger d'autres modules, texte ou php

17 nov. modifié dans Plugins

Voici un autre plugin très léger, inspiré d'un morceau d'un autre plugin.

Ce plugin vous permet au travers d'un hook d'injecter dans vos pages du simple texte au script s’intégrant à PluXml comme un plugin. https://ressources.pluxopolis.net/banque-plugins/plugins/modules.zip écraser la version inférieur en cas de MAJ


La derniere version en date: 2.2 https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.2.zip
contient :
1. Le module exemple mermaid
2. Le module socrate (affichage aléatoire d'une des 95 citations de Socrate) , un formulaire d'administration permet d'ajouter des citations avec 2 champs : citation et auteur.
3. Le module poll . crée et affiche des formulaires de sondage . résultats sous forme de donut avec chartjs


Vos modules sont intégrés à l’environnement de PluXml et peuvent donc interagir avec celui-ci selon le mode d'affichage, de connexion(visiteur ou admin ou ?) et accéder aux données du site.


Une version 2 avec une architecture HTML revue pour les modules ainsi qu'un exemple de boite de configuration pour un modules est sorti: https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.0.zip

Pour aller un peu plus loin, voici une version 2.0 qui permet en plus d'afficher une boite de configuration pour le module.(c'est optionnel)
Cette boite est accessible uniquement si vous êtes déjà connecter en tant qu'administrateur. Visuellement cela ajoute une icône en bas de votre module à cliquer.
L'exemple avec mermaid est toujours pris en exemple avec la possibilité de switcher sur l'un des thèmes fournis par le script.
j'ai opté pour un fichier json relié au module plutôt que d'aller squatter le fichier de paramètre du plugin.
L'architecture est aussi revue pour éviter que l'ajout de modules et leurs fichiers deviennent ingérable à tous les niveaux.

Maintenant, ce qu'il va manquer, ce sont des modules, alors si vous trouvez une utilité à ce plugin et avez quelques modules utiles ou juste sympas que vous avez fait, faites en profitez la communauté ;)


Son mode de fonctionnement:
1. un seul hook
2. un paramètre à passer
3. option d'un second paramètre séparé par une virgule

Placé dans votre thème, le hook va injecter un fichier php portant le nom du paramètre. si il y a un second paramètre, ce fichier pourra s'en servir : $param

Un exemple est fourni pour mieux comprendre le chargement et l'interaction d'un module .

J'ai pris par hasard le script https://mermaid.js.org/ et mis comme premier graph en démo un camembert des stats de de votre site .Nombre de : articles,categories,tags,commentaires,pages statiques et plugins .

Cet exemple aide aussi à voir comment passer ou pas un paramètre au plugin.

En installant ce plugin et un ajoutant dans votre thème le hook :
<?php eval($plxShow->callHook('moduleswidget','mermaid')); ?>

Le module mermaid.php sera chargé, ce module demande un paramètre supplémentaire pour charger tel ou tel script(fichier) .
Si ce paramètre est absent, le plugin duplique le premier paramètre, mermaid ira donc chercher dans son sous dossier un autre fichier nommé lui aussi mermaid.
Avec le second paramètre passé au module:
cela donne:
<?php eval($plxShow->callHook('moduleswidget','mermaid, mermaid')); ?>

Vous pouvez , par exemple seulement chargé le cdn de mermaid depuis le module et codé vos graphique dans vos articles.

(une évolution possible du module mermaid est un short code à placé dans un article ou une page statique pour afficher un le script d'un graph stocké dans son répertoire et l'ajout d'une fonction d'upload en page d'administration)

En gros, ce plugin peut simplement afficher un message texte, charger une feuille de style, un fichier et pluguer d'autres fonctions. Son usage n'a de limite que votre imagination.


Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml

Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

Mots clés:

Réponses

  • FrancisFrancis Member

    Merci beaucoup pour ce plugin qui a l'air vraiment très intéressant !
    Je crois qu'on va découvrir petit à petit beaucoup d'applications possibles. :)

    Et c'est une bonne idée d'avoir donné comme exemple le script https://mermaid.js.org/
    Je ne le connaissais pas, il offre beaucoup de possibilité de diagrammes, et il est simple à utiliser !

  • @Francis merci de ton retour et de ton enthousiasme :) C'est encourageant

    Pour aller un peu plus loin, voici une version 2.0 : https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.0.zip , qui permet en plus d'afficher une boite de configuration pour le module.(c'est optionnel)
    Cette boite est accessible uniquement si vous êtes déjà connecter en tant qu'administrateur. Visuellement cela ajoute une icône en bas de votre module à cliquer.
    L'exemple avec mermaid est toujours pris en exemple avec la possibilité de switcher sur l'un des thèmes fournis par le script.
    j'ai opté pour un fichier json relié au module plutôt que d'aller squatter le fichier de paramètre du plugin.
    L'architecture est aussi revue pour éviter que l'ajout de modules et leurs fichiers deviennent ingérable à tous les niveaux.

    Maintenant, ce qu'il va manquer, ce sont des modules, alors si vous trouvez une utilité à ce plugin et avez quelques modules utiles ou juste sympas que vous avez fait, faites en profitez la communauté ;)


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • 6 oct. modifié

    version 2.1 https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.1.zip
    ajout d'un module embarquant 95 citations de Socrates à afficher aléatoirement ... et correction du code exemple pour la page de configuration d'un module.

    Pour afficher ce module, placer dans votre thème à l'endroit que vous voulez, le code suivant :

    <?php eval($plxShow->callHook('moduleswidget','socrate')); ?> classique pour un pied de page.

    Vous pouvez ajouté des citations si vous êtes connecté en administrateur, il suffit de cliquer sur l'icône qui apparait (voir image ci-dessus) et un formulaire s'affiche. Les citations sont stockées au format json: { "citation": "la citation" , "auteur" : "l'auteur" }.


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • BodieuBodieu Member
    14 nov. modifié

    Bonjour,
    Voici mon premier module :
    Si vous n'êtes pas authentifié, une image s'affiche à la place des textes de la sidebar :

    <?php 
            /**
            * Plugin            modules   sidebarvip
            *
            * @CMS required         PluXml 
            *
            * @version          1.0
            * @date             2024-11-14
            * @author           P.Vincent
            * 
            *<?php eval($plxShow->callHook('moduleswidget','sidebarvip')); ?>
            * ajouter à themes/kzMasonic/sidebar  ligne 6   
            **/
    if (!isset($_SESSION['profil']) ) { 
    ?>
    <img src="/data/medias/Affiche_recrutement_2024.jpg"  >
    <?php
    exit;  }
     ?>
    

    C'est un progrès. Le site devient plus facile à maintenir en regroupant les personnalisations dans le plugin Modules.
    Merci pour cette commodité.

  • 16 nov. modifié

    @bodieu, bien joué :) c'est justement l'utilité, il est plus simple d'ajouter un module que de modifier ou créer un plugin, même si ce n'est pas l'idéal.

    Une nouvelle version avec un module sondage en plus. affiche les résultat en donut avec chart.js https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.2.zip
    Si vous avez déjà ce plugin actif et que vous voulez ajouter le module poll uniquement, il faudra faire une mise à jour . Ce module requiert la version 2.2 pour fonctionner.
    Pour la mise à jour d'une version antérieur à la 2.2 vers la 2.2 :
    1. Dézipper l'archive
    2. Désactiver le plugin
    3. Copier et coller tout les fichiers de l'archives dans le répertoire /plugins/modules/ en les remplaçant tous
    4. Réactiver le plugin
    5. Inserer dans vos template le hook a(ux) endroit(s) où vous voulez afficher le(s) sondage(s) ou le(s) résultat(s).
    7. Passer en front et créer votre premier sondage en cliquant sur l'icone :

    Comme tout les modules administrables, l'admin se fait coté front en étant connécté à l'admin.

    Le hook peut prendre 2 paramêtres :
    1. Par défaut 0 parametre: <?php eval($plxShow->callHook('moduleswidget','poll')); ?> affiche les sondages "Associés à tout le site"
    2. Par page 1er parametre page: <?php eval($plxShow->callHook('moduleswidget','poll,page')); ?> Affiche le sondage uniquement sur la page à laquelle il est associé
    3. Tous les résultats 2eme parametrearchives : <?php eval($this->callHook('moduleswidget','poll,archives')); ?> à inserer dans une page statique, il affiche les résultats de tous les sondages en cours et terminés sous forme de donut .
    4. Noter $this->callHook() au lieu de $plxShow->callHook() si appeler depuis une page statique et pas un fichier du thème

    have fun!


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • 18 nov. modifié

    Pour ceux qui ont télécharger la v2.2 , un test incomplet empêcher de visualiser le formulaire si le plugin plxMyMultilingue n'etait pas activer, ce défaut est corriger. https://ressources.pluxopolis.net/banque-plugins/plugins/modules.2.2.zip

    Un exemple de sondage Vous êtes utilisateur de PluXml depuis: est en ligne dans la sidebar de pluxopolis.net. Si vous avez voté et que votre ip n'a pas changée, le formulaire est remplacé par les résultat .

    une ip = 1 vote par sondage .

    requis : PHP 8.x


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

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