Problème d'Itemid avec Blog Calendar Reload

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

  • Problème d'Itemid avec Blog Calendar Reload

    Je reviens sur cette discussion car je viens d'installer blogCalendar Reloaded, une version un petit peu améliorée de blogCalendar et qui fait exactement ce que je veux : afficher un article donné pour un jour du mois donné.

    Seul hic, lors de la construction des URL, je n'ai pas d'Itemid de menu et il est donc impossible d'afficher les bons modules avec les articles qui sont ffichés via le module blogCalendar.

    Je ne connais pas assez php pour faire ça moi-même mais il me faut juste ajouter un Itemid spécifique, à savoir 33. Cet Itemid, après avoir modifié le module, je l'ai dans les paramètres du module, donc la base de données : specific_itemid=33. Si besoin, je pourrais modifier cet Itemid et afficher les modules de tel ou tel menu.

    Je voudrais maintenant l'ajouter aux URL de chaque jour du mini calendrier du module, qui sont du type : /index.php?year=2009&month=09&day=25&modid=151&opti on=com_blog_calendar&Itemid=

    Il ne me manque donc plus que l'ajout de cet ItemId.

    1) Comment le récupérer ?
    2) Comment l'ajouter ?

    Voici une partie du code du fichier helper.php du module, il me semble que c'est là que je dois agir :
    Code PHP:
    var $linklist//this variable will be an array that contains all the links of the month

        
    function getDateLink($day$month$year//this function is called from getMonthView(month,year) to get the link of the given day
        
    {                                          //if this function returns nothing (""), then getMonthView wont put a link on that day
            
            
    $link "";
            if(
    strlen($month)<2)
            
    $month '0'.$month;
            if(
    strlen($day)<2)
            
    $day '0'.$day;
        
            
    $date$year $month $day;
            if(isset(
    $this->linklist[$date])){
            
    $link=$this->linklist[$date] . $Itemid;  //$this->linklist[$date] was set for every date in the foreach bucle at lines 50-83
            
    }
            
         return 
    $link;
        } 

  • #2
    Personne pour me donner un coup de main avec cet itemid de malheur ?

    Commentaire


    • #3
      Bonjour,
      [mode MODO]Déjà, j'ai déplacé ça au bon endroit, poster à la fin d'une discussion Jooomla!1.0 de 5 pages marquée [réglé] n'EST PAS une bonne stratégie.[/mode MODO]

      Ensuite, ton truc ne marchera pas, vu que là où tu es $Itemid n'est pas défini et que $this->linklist[$date] contient le lien mais aussi se termine par title="1 article on this day" ça va être difficile d'ajouter l'itemid à cet endroit.

      Il faut remonter ligne 73 du helper.php :
      Code:
      $cal->linklist[$createdDate]=JRoute::_('index.php?option=com_blog_calendar'.'&year=' . $createdYear . '&month=' .  $createdMonth . '&day=' . $createdDay . '&modid=' . $modid);
      et ajouter l'Itemid à la fin :
      Code:
      ... '&modid=' . $modid. '&Itemid=' . $Itemid);
      et vers le début de la fonction showCal initialiser $Itemid (par exemple ligne 39)
      Code:
      $Itemid= $params->get('specific_itemid');
      Un truc me chagrine dans ce que tu as écrit : je ne vois pas d'où peut sortir le "&Itemid=" que tu dis voir à la fin des URL. Tu as bien la dernière version de BCR ?
      Schtroumpfe toi le Schtroumpf t'aidera.
      Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

      Commentaire


      • #4
        Super, merci!

        J'ai passé des heures là-dessus et rien ne marchait.

        Alors quand avec ta solution… ça ne marche pas non plus, je me dis qu'il y a autre chose !!!

        Eh bien, en fait, ta solution est non seulement simple à mettre en œuvre et en plus elle marche nickel… sauf si on active le SEF de Joomla !!!

        J'ai installé le module Praise URL pour comparer les URLs générées :

        SANS LE SEF : ça marche.
        L'itemid ajouté dans les paramètres du module est correctement récupéré et ajouté à la fin de l'URL pour chaque jour. Et les modules s'affichent correctement comme pour le menu concerné (ici itemid=33) :

        $_SERVER["REQUEST_URI"]: /sortir/sortir16/index.php?option=com_blog_calendar&year=2009&month =09&day=25&modid=151&Itemid=33

        JRouter::getVars() and buildQuery: /index.php?option=com_blog_calendar&year=2009&month =09&day=25&modid=151&Itemid=33


        AVEC LE SEF : je perds l'itemid :
        $_SERVER["REQUEST_URI"]: /sortir/sortir16/component/blog_calendar/?year=2009&month=09&day=25&modid=151

        JRouter::getVars() and buildQuery: /index.php?year=2009&month=09&day=25&modid=151&opti on=com_blog_calendar&Itemid=

        … avec ce "&Itemid=" à la fin et qui t'intriguait.

        Commentaire


        • #5
          Pas de plug-in pour sh404SEF donc pas de solution pour l'instant avec cet Itemid qui est zappé par la réécriture d'URL.

          Peut-être une solution du côté du fichier htaccess, mais à mon niveau, les règles de réécriture, c'est encore pire que 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
          Travaille ...
          X