Bonjour Pascal.
Vous êtes absolument génial, vos modifs ont fonctionnées à merveille !
Mon module est désormais opérationnel et activé !
==>> RESOLU !
Mise à jour d'un module Joomla 2.5 vers 3.x (problème version PHP)
Réduire
X
-
Bonjour,
J'avais effectivement un bug (oubli impardonnable d'un ".....).
Ci-joint la version corrigée.
Pascal
Fichiers joints
Laisser un commentaire:
-
Envoyé par pmleconte Voir le messagePas terrible sa programmation: il charge $list dans le helper (youpi) puis il a oublié un truc (le menu associé à l'article), donc il l'ajoute dans le default.php.
Je pense que cette syntaxe est incorrecte, mais essayez déjà de remplacer (int)$_GET['Itemid'] par JRequest::getInt('id') dans default.php, mais je ne suis pas sûr que cela fonctionne.
Autre solution : retirez .'&Itemid='.$ArrayItemId[$i]->itemId) en ligne 41 ainsi que la requête sql.
Pascal
Un immense merci car vos modifs ont permis de corriger les erreurs de liens ! Un grand pas de fait....
Seulement, il manque maintenant les images au dessus des articles proposés.
Pour info, avant votre modif, j'avais bien les images correctes sur chaque article, mais les liens n'était pas bon.
Désormais, c'est l'inverse....
Si vous voulez je peux en MP vous envoyer le lien du site pour voir le problème en direct...
En tout cas merci de m'aider !!
Laisser un commentaire:
-
J'ai ajouté le choix de l'ordre d'affichage dans les paramètres du module (ainsi que le filtrage par langue dans le helper.php).
PascalFichiers joints
- "J'aime" 1
Laisser un commentaire:
-
J'ai un peu simplifié votre code et on doit pouvoir jouer aussi sur l'ordre d'affichage.
PascalFichiers joints
Laisser un commentaire:
-
Pas terrible sa programmation: il charge $list dans le helper (youpi) puis il a oublié un truc (le menu associé à l'article), donc il l'ajoute dans le default.php.
Je pense que cette syntaxe est incorrecte, mais essayez déjà de remplacer (int)$_GET['Itemid'] par JRequest::getInt('id') dans default.php, mais je ne suis pas sûr que cela fonctionne.
Autre solution : retirez .'&Itemid='.$ArrayItemId[$i]->itemId) en ligne 41 ainsi que la requête sql.
Pascal
Laisser un commentaire:
-
Oups! , je viens de voir que vous aviez mis le zip du module.
Je regarde si je vois quelque chose.
Pascal
Laisser un commentaire:
-
Votre ItemId vient certainement d'un formulaire de votre module. Regardez si vous ne trouvez pas cela dans le fichier xml du module.
Pascal
Laisser un commentaire:
-
Bonjour,
Votre problème vient bien du module "voiraussi" qui est soit "pas à jour", soit incompatible avec la version actuelle Joomla, donc, désactivez le.
Si vous souhaitez que l'on vous aide, merci de copier le contenu du module.
Pascal
PS: ne touchez pas au fichier CMSapplication qui est un fichier standard Joomla pour corriger un problème dans un autre moduleDernière édition par pmleconte à 02/02/2019, 15h41
Laisser un commentaire:
-
J'ai peut être une question bête.... Mais je vois à des endroits Itemid, à d'autres itemId, ou encore ItemId.
La casse est-elle importante ?
Laisser un commentaire:
-
Bon je continue seul à essayer de solutionner mon problème. J'écris ici toutes mes avancées, peut-être que cela servira à quelqu'un un jour...
J'ai résolu -en partie- l'erreur0 - Using $this when not in object context
Code:$parentItemid = JSite::getMenu()->getActive()->parent_id;
Code:$parentItemid = JFactory::getApplication()->getMenu()->getActive()->parent_id;
Code:[B]Notice[/B]: Undefined index: Itemid in [B]/home/handifleao/www/securacces/modules/mod_voiraussi/tmpl/default.php [/B]on line [B]22[/B]
Code://Obtain a database connection $db = JFactory::getDbo(); //Retrieve the shout $query = $db->getQuery(true) ->select('m.id as itemId') ->from('#__menu as m') ->where('m.parent_id =' . (int)$parentItemid . ' AND m.id !=' . (int)$_GET['Itemid']) [COLOR=#FF0000][B]la ligne 22 est ici[/B][/COLOR] ->order('m.lft ASC');
Laisser un commentaire:
-
En activant le rapport d'erreur sur déceloppement, j'arrive à en savoir un peu plus :
Code:Using $this when not in object context /home/handifleao/www/securacces/libraries/src/Application/CMSApplication.php:370 [TABLE="cellpadding: 0, cellspacing: 0"] [TR] [TD="colspan: 3"][B]Call stack[/B][/TD] [/TR] [TR] [TD][B]#[/B][/TD] [TD][B]Function[/B][/TD] [TD][B]Location[/B][/TD] [/TR] [TR] [TD]1[/TD] [TD]()[/TD] [TD]JROOT/libraries/src/Application/CMSApplication.php:370[/TD] [/TR] [TR] [TD]2[/TD] [TD]Joomla\CMS\Application\CMSApplication::getMenu()[/TD] [TD]JROOT/libraries/src/Application/SiteApplication.php:275[/TD] [/TR] [TR] [TD]3[/TD] [TD]Joomla\CMS\Application\SiteApplication::getMenu()[/TD] [TD]JROOT/modules/mod_voiraussi/tmpl/default.php:10[/TD] [/TR] [TR] [TD]4[/TD] [TD]require()[/TD] [TD]JROOT/modules/mod_voiraussi/mod_voiraussi.php:9[/TD] [/TR] [TR] [TD]5[/TD] [TD]include()[/TD] [TD]JROOT/libraries/src/Helper/ModuleHelper.php:200[/TD] [/TR] [TR] [TD]6[/TD] [TD]Joomla\CMS\Helper\ModuleHelper::renderModule()[/TD] [TD]JROOT/libraries/src/Document/Renderer/Html/ModuleRenderer.php:98[/TD] [/TR] [TR] [TD]7[/TD] [TD]Joomla\CMS\Document\Renderer\Html\ModuleRenderer->render()[/TD] [TD]JROOT/libraries/src/Document/Renderer/Html/ModulesRenderer.php:47[/TD] [/TR] [TR] [TD]8[/TD] [TD]Joomla\CMS\Document\Renderer\Html\ModulesRenderer->render()[/TD] [TD]JROOT/libraries/src/Document/HtmlDocument.php:491[/TD] [/TR] [TR] [TD]9[/TD] [TD]Joomla\CMS\Document\HtmlDocument->getBuffer()[/TD] [TD]JROOT/libraries/src/Document/HtmlDocument.php:783[/TD] [/TR] [TR] [TD]10[/TD] [TD]Joomla\CMS\Document\HtmlDocument->_renderTemplate()[/TD] [TD]JROOT/libraries/src/Document/HtmlDocument.php:557[/TD] [/TR] [TR] [TD]11[/TD] [TD]Joomla\CMS\Document\HtmlDocument->render()[/TD] [TD]JROOT/libraries/src/Application/CMSApplication.php:1044[/TD] [/TR] [TR] [TD]12[/TD] [TD]Joomla\CMS\Application\CMSApplication->render()[/TD] [TD]JROOT/libraries/src/Application/SiteApplication.php:778[/TD] [/TR] [TR] [TD]13[/TD] [TD]Joomla\CMS\Application\SiteApplication->render()[/TD] [TD]JROOT/libraries/src/Application/CMSApplication.php:202[/TD] [/TR] [TR] [TD]14[/TD] [TD]Joomla\CMS\Application\CMSApplication->execute()[/TD] [TD]JROOT/index.php:49[/TD] [/TR] [/TABLE]
Code:public function getMenu($name = null, $options = array()) { if (!isset($name)) { $name = $this->getName(); } // Inject this application object into the \JMenu tree if one isn't already specified if (!isset($options['app'])) { $options['app'] = $this; [COLOR=#FF0000][B]la ligne 370 est ici[/B][/COLOR] } try { $menu = \JMenu::getInstance($name, $options); } catch (\Exception $e) { return; } return $menu; }
D'avance, merci
Laisser un commentaire:
-
Envoyé par RobertG Voir le messageBonjour,
En fait, "DS" correspond au séparateur "/" dans les chemins.
Il faut soit le remplacer partout dans le code, soit voir si sa définition au début du fichier principal est bien prise en compte.
Merci pour votre réponse. Je viens de comparer mon fichier PHP avec celui d'un autre module et j'ai compris ce que vous avez écrit.
Ainsi j'ai transformé
Code:require_once( dirname(__FILE__).DS.'helper.php' );
Code:require_once dirname(__FILE__) . '/helper.php';
Code:0 - Using $this when not in object context
Laisser un commentaire:
-
Bonjour,
En fait, "DS" correspond au séparateur "/" dans les chemins.
Il faut soit le remplacer partout dans le code, soit voir si sa définition au début du fichier principal est bien prise en compte.
define('DS', DIRECTORY_SEPARATOR);
Laisser un commentaire:
Annonce
Réduire
Aucune annonce pour le moment.
Laisser un commentaire: