Override module

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

  • [RÉGLÉ] Override module

    Bonjour,

    Je cherche à faire un override pour tout les modules afin d'afficher un sous titre. En réalité, c'est la suite du titre mais l'aspect graphique sera différent, avec un retour à la ligne.

    J'ai modifié la base de données des modules pour y ajouter une entrée subtitle. Mais ensuite je n'arrive pas à récuperer la valeur de cette entrée et à l'afficher sous le titre du module..

    Sur joomla 1.5 j'avais compris la technique, mais sur la 2.5 c'est différent..

    Je précise que ce serait pour tout les modules, et que j'aimerais avoir un nouveau champ "Sous titre" quand je crée un module dans l'interface d'administration.

    Est ce que quelqu'un aurait une idée ?

    Merci
    Dernière édition par Echo_16 à 07/03/2012, 18h26

  • #2
    Re : Override module

    Un override se fait en surchargeant le template de base en plaçant les modèles de vue (templates) dans le répertoire html de ton template.

    Si tu veux surcharger tous les modules, je ne vois pas d'autres solution que de modifier tous les templates de tous les modules...
    Agence web Antadis, création de sites Joomla http://www.antadis.com/joomla/tous-l...gn=sig-anta-fj

    Commentaire


    • #3
      Re : Override module

      Oui mais le probleme est que le titre des modules n'apparait pas dans les fichiers views/tpl de chaque module..
      Apparemment on peut placer un fichier module.php dans le dossier html mais je ne comprends pas trop comment il fonctionne, ni comment modifier les champ dans l'interface d'admin pour y ajouter mon champ sous titre.

      Ex du fichier module.php du template atomic:
      Code PHP:
      <?php
      /**
       * @package        Joomla.Site
       * @copyright    Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
       * @license        GNU General Public License version 2 or later; see LICENSE.txt
       */

      // no direct access
      defined('_JEXEC') or die;

      /**
       * This is a file to add template specific chrome to module rendering.  To use it you would
       * set the style attribute for the given module(s) include in your template to use the style
       * for each given modChrome function.
       *
       * eg.  To render a module mod_test in the sliders style, you would use the following include:
       * <jdoc:include type="module" name="test" style="slider" />
       *
       * This gives template designers ultimate control over how modules are rendered.
       *
       * NOTICE: All chrome wrapping methods should be named: modChrome_{STYLE} and take the same
       * two arguments.
       *
       * This module chrome file creates custom output for modules used with the Atomic template.
       * The first function wraps modules using the "container" style in a DIV. The second function
       * uses the "bottommodule" style to change the header on the bottom modules to H6. The third
       * function uses the "sidebar" style to change the header on the sidebar to H3.
       */

      function modChrome_container($module, &$params, &$attribs)
      {
          if (!empty (
      $module->content)) : ?>
              <div class="container">
                  <?php echo $module->content?>
              </div>
          <?php endif;
      }
      function 
      modChrome_bottommodule($module, &$params, &$attribs)
      {
          if (!empty (
      $module->content)) : ?>
              <?php if ($module->showtitle) : ?>
                  <h6><?php echo $module->title?></h6>
              <?php endif; ?>
              <?php echo $module->content?>
          <?php endif;
      }
      function 
      modChrome_sidebar($module, &$params, &$attribs)
      {
          if (!empty (
      $module->content)) : ?>
              <?php if ($module->showtitle) : ?>
                  <h3><?php echo $module->title?></h3>
              <?php endif; ?>
              <?php echo $module->content?>
          <?php endif;
      }
      ?>

      Commentaire


      • #4
        Re : Override module

        C'est bon j'ai compris le fonctionnement de ce fichier module.php

        Savez vous comment récupérer un nouveau champ dans la base de données et comment modifier l'administration du module pour que je puisse remplir directement le champ ?

        merci

        Edit: Je vais ouvrir un nouveau sujet dont le titre correspondra mieux. Merci beaucoup. Au cas où si quelqu'un à le même problême, la page qui m'à aider à comprendre la page module.php :
        http://forum.joomla.org/viewtopic.php?p=1025024
        Dernière édition par Echo_16 à 07/03/2012, 21h43

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X