ajouter un tag de module

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • ajouter un tag de module

    Bonjour

    dans l'admin > gestion des modules (on choisi un module) > Paramètres avancés > Tag de module

    on a une liste posible

    Code:
    <select id="jform_params_module_tag" name="jform[params][module_tag]" class="chzn-done" style="display: none;">
    	<option value="div" selected="selected">div</option>
    	<option value="section">section</option>
    	<option value="aside">aside</option>
    	<option value="nav">nav</option>
    	<option value="address">address</option>
    	<option value="article">article</option>
    </select>
    comment peut on ajouter des valeurs supplémentaires ?

    si je sais ou est cette liste je peux faire un overrides

    merci

  • #2
    Re : ajouter un tag de module

    Bonjour ErickB,

    Voici où se trouvent ces options de formulaire :

    1) Le champ module_tag est défini dans le composant de gestion des modules : administrator/components/com_modules/models/forms/advanced.xml
    Code:
    <field
        name="module_tag"
        type="moduletag"
        label="COM_MODULES_FIELD_MODULE_TAG_LABEL"
        description="COM_MODULES_FIELD_MODULE_TAG_DESC"
        default="div"
    />
    2) Le type moduletag du champ module_tag est défini dans : libraries/cms/form/field/moduletag.php
    Code:
    $tags = array('div', 'section', 'aside', 'nav', 'address', 'article');
    3) L'utilisation du moduleTag est définie dans le style chrome des modules, par exemple voir le style chrome well des modules de Protostar dans : templates/protostar/html/modules.php (variable $moduleTag).

    Le 1) et 2) sont des fichiers natifs de Joomla qu'il n'est pas recommandé de modifier.

    Pour ajouter une valeur supplémentaire, il me paraît plus simple de créer dans le template un nouveau style chrome en réutilisant un moduletag déjà existant mais non utilisé par ailleurs.

    Amicalement,
    Rajoz

    Commentaire


    • #3
      Re : ajouter un tag de module

      Merci pour ta réponse

      j'ai bien sur mon propre module.php dans chacun de mes templates (d'ailleur je detourne bootstrap comme ça)
      mai sa part un overrides de cette liste qui manque de souplesse
      $tags = array('div', 'section', 'aside', 'nav', 'address', 'article');

      je ne vois pas comment recuperer d'autre valeurs
      cette liste pourrait parfaitement etre de base dans un JText:_ et donc facilement modifiable

      Commentaire


      • #4
        Re : ajouter un tag de module

        Pour ajouter une valeur supplémentaire, il me paraît plus simple de créer dans le template un nouveau style chrome en réutilisant un moduletag déjà existant mais non utilisé par ailleurs
        je ne vois pas ce que tu veux dire dans ce cas

        Commentaire


        • #5
          Re : ajouter un tag de module

          Bonjour ErickB,

          je ne vois pas ce que tu veux dire dans ce cas
          Par exemple, si tu ne te sers pas de <address> et que tu as besoin de <p> tu peux remplacer le moduletag dans le code de module.php. Pour chrome well de Protostar cela donnerait (en rouge) :
          Code:
          function modChrome_well($module, &$params, &$attribs)
          {
              $moduleTag     = $params->get('module_tag', 'div');
              $bootstrapSize = (int) $params->get('bootstrap_size', 0);
              $moduleClass   = $bootstrapSize != 0 ? ' span' . $bootstrapSize : '';
              $headerTag     = htmlspecialchars($params->get('header_tag', 'h3'));
              $headerClass   = htmlspecialchars($params->get('header_class', 'page-header'));
          
              if($moduleTag == 'address')
              {
                  $moduleTag = 'p';
              }
          
              if ($module->content)
              {
                  echo '<' . $moduleTag . ' class="well ' . htmlspecialchars($params->get('moduleclass_sfx')) . $moduleClass . '">';
          
                      if ($module->showtitle)
                      {
                          echo '<' . $headerTag . ' class="' . $headerClass . '">' . $module->title . '</' . $headerTag . '>';
                      }
          
                      echo $module->content;
                  echo '</' . $moduleTag . '>';
              }
          }
          C'est vrai que ce n'est pas très souple : le nombre d'options reste de 6 et il faut configurer une option pour obtenir un autre résultat. Mais c'est très facile à faire.

          Avec plus de programmation, il est possible de créer un plugin pour ajouter un champ supplémentaire au composant com_modules et d'utiliser ce champ à la place de module tag dans module.php. La doc pour ajouter des champs à un composant se trouve sur https://docs.joomla.org/Adding_custo...using_a_plugin

          J'avoue que je ne vois pas très bien ce que tu veux faire. Les 6 options habituelles pour les balises encadrant les modules sont habituellement suffisantes. Quelles sont les options que tu souhaites ajouter ?

          Amicalement,
          Rajoz

          Commentaire


          • #6
            Re : ajouter un tag de module

            oui avec modChrome de cette manière bien sur

            c'était pour ajouter plus de souplesse a ce menu, je trouve generalement Joomla trop figé de ce cote là
            heureusement des plugin comme le MVC overrider permettent deja beaucoup

            Commentaire


            • #7
              Pout info dans Joomla 4 c'est dans libraries/src/Form/Field/ModuletagField.php

              Commentaire

              Annonce

              Réduire
              1 sur 2 < >

              C'est [Réglé] et on n'en parle plus ?

              A quoi ça sert ?
              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
              Comment ajouter la mention [Réglé] à votre discussion ?
              1 - Aller sur votre discussion et éditer votre premier message :


              2 - Cliquer sur la liste déroulante Préfixe.

              3 - Choisir le préfixe [Réglé].


              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

              2 sur 2 < >

              Assistance au forum - Outil de publication d'infos de votre site

              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

              UTILISER À VOS PROPRES RISQUES :
              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

              Problèmes connus :
              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

              Installation :

              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

              Archive zip : https://github.com/AFUJ/FPA/zipball/master

              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
              et remplacer www. votresite .com par votre nom de domaine


              Exemples:
              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/
              Pour executer le script: http://www..com/fpa-fr.php

              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/cms/
              Pour executer le script: http://www..com/cms/fpa-fr.php

              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
              Voir plus
              Voir moins

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X