Plusieurs modules {loadposition ---------} dans une page

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

  • Plusieurs modules {loadposition ---------} dans une page

    Bonjour,

    N'arrivant pas à migrer mon site 1.6.6 sans messages d'erreur au final, je le fais manière radicale je transfère chaque article du vieux site en copiant son code vers un nouveau site en 1.7.0 et bien sur aussi recréation des menus , des modules... galleries.... c'est un peu long à faire mais je ne désespère pas

    J'ai presque fini et je m'aperçois que dans une même page j'ai 2 galleries photos (arislickgallery) que je positionnais dans joomla 1.6.6 avec{loadposition ...........} avec 2 positions différentes (une pour chaque module arislickgallery).

    Visiblement il y a un bug reporté dans 1.7. à ce sujet dans les forums anglais :



    ou le titre du poste : Joomla 1.7 Stable Loadposition does not work

    c'est exactement ce qui m'arrive ça marchait dans 16.6 mais plus dans 1.7.0

    Ce poste est SUPER COMPLIQUE JE N'Y COMPRENDS Rien.....
    Pourtant visiblement il y a une soluce semble-t-il



    bon pour l'instant je travaille en local mais la page dont je parle en 166 est sur


    Quelqu'un pourrait m'aider à comprendre ce que je dois faire????????
    Merci

    Is@
    Dernière édition par isaweb92 à 23/08/2011, 17h18

  • #2
    Re : Plusieurs modules {loadposition ---------} dans une page

    bon après quelques relectures des postes américains j'ai downloadé le patch version 4
    à dowloader là : http://joomlacode.org/gf/project/joo..._item_id=26446
    (26446-ejw-v4.patch : en bas de page)
    et à chaque fois que j'applique le patch (en elevant les lignes estampillées d'un "-" et en rajoutant les lignes avec un "+"
    dans le fichier : plugins/content/loadmodule/loadmodule.php
    quand je prévisualise je me retrouve avec une page blanche
    dés que je recharge le fichier original mon site réaparraît

    est-ce un probleme avec le fait que j'ae travaille avec la version francisée....

    Il ya til quelqu'un pour m'aider ?


    merci
    Is@
    Dernière édition par isaweb92 à 25/08/2011, 09h08

    Commentaire


    • #3
      Re : Plusieurs modules {loadposition ---------} dans une page

      Personnellement, je n'ai aucun problème à utiliser {loadposition maposition} dans J1.7.
      Peut-être as-tu fait une manip de trop ... ?
      Dernière édition par wworld à 07/09/2011, 15h14
      Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
      - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
      - Communauté Joomla Belge sur Facebook

      Commentaire


      • #4
        Re : Plusieurs modules {loadposition ---------} dans une page

        Envoyé par isaweb92 Voir le message
        bon après quelques relectures des postes américains j'ai downloadé le patch version 4
        à dowloader là : http://joomlacode.org/gf/project/joo..._item_id=26446
        (26446-ejw-v4.patch : en bas de page)
        et à chaque fois que j'applique le patch (en elevant les lignes estampillées d'un "-" et en rajoutant les lignes avec un "+"
        dans le fichier : plugins/content/loadmodule/loadmodule.php
        quand je prévisualise je me retrouve avec une page blanche
        dés que je recharge le fichier original mon site réaparraît

        est-ce un probleme avec le fait que j'ae travaille avec la version francisée....

        Il ya til quelqu'un pour m'aider ?


        merci
        Is@


        Is@, ce patch fonctionne et permet de corriger le bug des modules loaposition multiples sur J1.7
        Il faut effectivement supprimer les lignes "-" et ajouter les lignes "+"

        Au final le loadmodule.php doit ressembler à cela:
        Code PHP:
        <?php
        /**
         * @version        $Id: loadmodule.php 21766 2011-07-08 12:20:23Z eddieajau $
         * @package        Joomla.Plugin
         * @subpackage    Content.loadmodule
         * @copyright    Copyright (C) 2005 - 2011 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;

        jimport('joomla.plugin.plugin');

        class 
        plgContentLoadmodule extends JPlugin
        {
            protected static 
        $modules = array();
            protected static 
        $mods = array();
            
        /**
             * Plugin that loads module positions within content
             *
             * @param    string    The context of the content being passed to the plugin.
             * @param    object    The article object.  Note $article->text is also available
             * @param    object    The article params
             * @param    int        The 'page' number
             */
            
        public function onContentPrepare($context, &$article, &$params$page 0)
            {
                
        // simple performance check to determine whether bot should process further
                
        if (strpos($article->text'loadposition') === false && strpos($article->text'loadmodule') === false) {
                    return 
        true;
                }

                
        // expression to search for (positions)
                
        $regex        '/{loadposition\s+(.*?)}/i';
                
        $style        $this->params->def('style''none');
                
        // expression to search for(modules)
                
        $regexmod        '/{loadmodule\s+(.*?)}/i';
                
        $title null;
                
        $stylemod        $this->params->def('style''none');

                
        // Find all instances of plugin and put in $matches for loadposition
                // $matches[0] is full pattern match, $matches[1] is the position
                
        preg_match_all($regex$article->text$matchesPREG_SET_ORDER);
                
        // No matches, skip this
                
        if ($matches){
                    foreach (
        $matches as $match) {
         
                    
        $matcheslist =  explode(',',$match[1]);
                    
                     if (!
        array_key_exists(1$matcheslist)){
                         
        $matcheslist[1] = null;
                     }


                    if (!
        array_key_exists(1$matcheslist)){
                        
        $matcheslist[1] = null;
                    }
                    if (!
        array_key_exists(2$matcheslist)){
                        
        $matcheslist[2]    = null;
                    }
         
                    
        $position trim($matcheslist[0]);
                    
        $style    trim($matcheslist[1]);



                        
        $output $this->_load($position,$style);
                        
        // We should replace only first occurrence in order to allow positions with the same name to regenerate their content:
                        
        $article->text preg_replace("|$match[0]|"addcslashes($output'\\'), $article->text1);
                    }
                }
                
        // Find all instances of plugin and put in $matchesmod for loadmodule

                
        preg_match_all($regexmod$article->text$matchesmodPREG_SET_ORDER);
                
        // If no matches, skip this
                    
        if ($matchesmod){
                    foreach (
        $matchesmod as $matchmod ){

                            
        $matchesmodlist explode(',',$matchmod[1]);
                            
        //We may not have a specific module so set to null
                            
        if (!array_key_exists(1$matchesmodlist)){
                                
        $matchesmodlist[1] = null;
                            }
                            
        // We may not have a module style so set to null.
                            
        if (!array_key_exists(2$matchesmodlist)){
                                
        $matchesmodlist[2] = null;
                            }
            
                                    
        $module trim($matchesmodlist[0]);
                                    
        $name   trim($matchesmodlist[1]);
                                    
        $style  trim($matchesmodlist[2]);
                                
        // $match[0] is full pattern match, $match[1] is the module,$match[2] is the title
                                
        $output $this->_loadmod($module$name$style);
                                
        // We should replace only first occurrence in order to allow positions with the same name to regenerate their content:
                                
        $article->text preg_replace("|$matchmod[0]|"addcslashes($output'\\'), $article->text1);
                            }

                    }

            }

            protected function 
        _load($position$style 'none')
            {
                if (!isset(
        self::$modules[$position])) {
                    
        self::$modules[$position] = '';
                    
        $document    JFactory::getDocument();
                    
        $renderer    $document->loadRenderer('module');
                    
        $modules    JModuleHelper::getModules($position);
                    
        $params        = array('style' => $style);
                    
        ob_start();

                    foreach (
        $modules as $module) {
                        echo 
        $renderer->render($module$params);
                    }

                    
        self::$modules[$position] = ob_get_clean();
                }
                return 
        self::$modules[$position];
            }
            
        // This is always going to get the first instance of the module type unless
            // there is a title.
            
        protected function _loadmod($module$title$style 'none')
            {
                if (!isset(
        self::$mods[$module])) {
                    
        self::$mods[$module] = '';
                    
        $document    JFactory::getDocument();
                    
        $renderer    $document->loadRenderer('module');
                    
        $mod    JModuleHelper::getModule($module$title);
                    
        // If the module without the mod_ isn't found, try it with mod_.
                    // This allows people to enter it either way in the content
                    
        if (!isset($mod)){
                        
        $name 'mod_'.$module;
                        
        $mod  JModuleHelper::getModule($name$title);
                    }
                    
        $params        = array('style' => $style);
                    
        ob_start();

                        echo 
        $renderer->render($mod$params);

                    
        self::$mods[$module] = ob_get_clean();
                }
                return 
        self::$mods[$module];
            }
        }

        ++ donc

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X