MenusTableMenu: :_getNode échoué -

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

  • [Problème] MenusTableMenu: :_getNode échoué -

    Bonsoir,

    je m'amusais tranquillement à faire une migration de Joomla 1.5 vers Joomal 1.7 avec le superbe outil JUpgrape ...
    Quand la catastrophe est arrivée : impossible de créer un nouvel item de menu !

    J'ai essayé tous les trucs classiques sans résultat : réorganiser la base, supprimer un menu qui n'avait pas l'air très catholique ...

    Quand j'ai trouvé la solution sur le forum Joomla.org à l'adresse suivante : forum.joomla.org/viewtopic.php?f=625&t=632543&p=2543499&hilit=_getN ode+Failed#p2543499

    (le point était déjà signalé sur le forum Joomla.fr mais un titre peu explicite : Erreur lors de la sauvegarde d'un nouvel élément de menu)

    le truc : un bug dans la base de données qu'il faut corriger à la main avec phpMyAdmin
    - Choisissez le menu SQL et saisissez le code suivant :

    Code:
    To solve this problem please enter the following two steps.
    1. Add the missing record to the database
    Log in to phpmyadmin and execute the following statement
    INSERT INTO `DATABASE_NAME`.`j16_menu` (`id` ,`menutype` ,`title` ,`alias` ,`note` ,`path` ,`link` ,`type` ,`published` ,`parent_id` ,`level` ,`component_id` ,`ordering` ,`checked_out` ,`checked_out_time` ,`browserNav` ,`access` ,`img` ,`template_style_id` ,`params` ,`lft` ,`rgt` ,`home` ,`language` ,`client_id` ) VALUES ( '1', '', 'Menu_Item_Root', 'root', '', '', '', '', '1', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0')
    Bien sûr, il faut personnaliser le début de la requête (placez vous sur la base de données et supprimez 'DATABASE_NAME' . , changez le cas échéant le nom de la table xxx_menu ...)

    Reconstruisez les menus ...


    Globalement, Jupgrade met des cochonneries dans les catégories et les menus, vous devez tout reprendre à la main

    Pour moi, c'est un problème de Jupgrade qu'il faut contourner
    Dernière édition par didier l à 16/02/2012, 00h16
    Didier L
    Le webmaster de quelques sites associatifs développés sur Joomla !

  • #2
    Re : MenusTableMenu: :_getNode échoué -

    Bonjour Didier,

    Je suis tombé sur ton post, car je me retrouve dans le même problème, depuis quelques semaines j'ai commencé à mettre mes sites à jour vers joomla 2.51 et après plusieurs mises à jour relativement faciles (avec l'aide précieuse de ce forum et quelques forumeurs qui se reconnaitront ) je suis bloqué avec ce dernier site :

    -Je travaille en local sous windows avex XAMPP
    -J'ai mis tous les paramètres SEF à "Non"
    -J'ai seulement activé le "Main Menu"

    Je ne peux pas modifier mon menu, message :"L'enregistrement a échoué avec l'erreur suivante : MenusTableMenu: :_getNode échoué - "

    J'ai vérifié ma base de données d'après la solution que tu as trouvé, mais je ne suis pas très calé la dessus et je ne vois pas comment modifier directement à partir de l'interface mysql.
    J'ai tenté la modification à partir d'une sauvegarde "mabdd.sql", mais quands j'importe la BDD j'ai une erreur, voila à quoi ressemble mon j17_menu après modification :

    CREATE TABLE IF NOT EXISTS `j17_menu` (

    `id` ,
    `menutype` ,
    `title` ,
    `alias` ,
    `note` ,
    `path` ,
    `link` ,
    `type` ,
    `published` ,
    `parent_id` ,
    `level` ,
    `component_id` ,
    `ordering` ,
    `checked_out` ,
    `checked_out_time` ,
    `browserNav` ,
    `access` ,
    `img` ,
    `template_style_id` ,
    `params` ,
    `lft` ,
    `rgt` ,
    `home` ,
    `language` ,
    `client_id` ,
    VALUES ( '1', '', 'Menu_Item_Root', 'root', '', '', '', '', '1', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0')
    PRIMARY KEY (`id`),
    UNIQUE KEY `idx_client_id_parent_id_alias_language` (`client_id`,`parent_id`,`alias`,`language`),
    KEY `idx_componentid` (`component_id`,`menutype`,`published`,`access`),
    KEY `idx_menutype` (`menutype`),
    KEY `idx_left_right` (`lft`,`rgt`),
    KEY `idx_alias` (`alias`),
    KEY `idx_path` (`path`(255)),
    KEY `idx_language` (`language`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=139 ;



    Voici le contenu d'origine :



    CREATE TABLE IF NOT EXISTS `j17_menu` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `menutype` varchar(24) NOT NULL COMMENT 'The type of menu this item belongs to. FK to #__menu_types.menutype',
    `title` varchar(255) NOT NULL COMMENT 'The display title of the menu item.',
    `alias` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The SEF alias of the menu item.',
    `note` varchar(255) NOT NULL DEFAULT '',
    `path` varchar(1024) NOT NULL COMMENT 'The computed path of the menu item based on the alias field.',
    `link` varchar(1024) NOT NULL COMMENT 'The actually link the menu item refers to.',
    `type` varchar(16) NOT NULL COMMENT 'The type of link: Component, URL, Alias, Separator',
    `published` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'The published state of the menu link.',
    `parent_id` int(10) unsigned NOT NULL DEFAULT '1' COMMENT 'The parent menu item in the menu tree.',
    `level` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The relative level in the tree.',
    `component_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'FK to #__extensions.id',
    `ordering` int(11) NOT NULL DEFAULT '0' COMMENT 'The relative ordering of the menu item in the tree.',
    `checked_out` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'FK to #__users.id',
    `checked_out_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'The time the menu item was checked out.',
    `browserNav` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'The click behaviour of the link.',
    `access` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The access level required to view the menu item.',
    `img` varchar(255) NOT NULL COMMENT 'The image of the menu item.',
    `template_style_id` int(10) unsigned NOT NULL DEFAULT '0',
    `params` text NOT NULL COMMENT 'JSON encoded data for the menu item.',
    `lft` int(11) NOT NULL DEFAULT '0' COMMENT 'Nested set lft.',
    `rgt` int(11) NOT NULL DEFAULT '0' COMMENT 'Nested set rgt.',
    `home` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'Indicates if this menu item is the home or default page.',
    `language` char(7) NOT NULL DEFAULT '',
    `client_id` tinyint(4) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`),
    UNIQUE KEY `idx_client_id_parent_id_alias_language` (`client_id`,`parent_id`,`alias`,`language`),
    KEY `idx_componentid` (`component_id`,`menutype`,`published`,`access`),
    KEY `idx_menutype` (`menutype`),
    KEY `idx_left_right` (`lft`,`rgt`),
    KEY `idx_alias` (`alias`),
    KEY `idx_path` (`path`(255)),
    KEY `idx_language` (`language`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=139 ;


    Si quelqu'un peux m'éclairer sur ce problème ce serait sympa, avant que je me retape tout le site à la main....

    Bon dimanche à tous.
    Dernière édition par shabo à 19/02/2012, 15h50

    Commentaire


    • #3
      Re : MenusTableMenu: :_getNode échoué -

      Comment faire cette mise à jour de la base de données

      - lancez php MyAdmin
      - choisir la base de données correspondant à votre site (cliquez éventuellement sur l'onglet bases de données en haut et cliquez 2 fois sur le nom de votre base)
      - cliquez sur l'onglet SQL (le 2e en haut à gauche)
      - la fenêtre "éxécuter votre requête ... " s'affiche ; copier dedans votre requête, sans le nom de la base :

      INSERT INTO `j17_menu` (`id` ,`menutype` ,`title` ,`alias` ,`note` ,`path` ,`link` ,`type` ,`published` ,`parent_id` ,`level` ,`component_id` ,`ordering` ,`checked_out` ,`checked_out_time` ,`browserNav` ,`access` ,`img` ,`template_style_id` ,`params` ,`lft` ,`rgt` ,`home` ,`language` ,`client_id` ) VALUES ( '1', '', 'Menu_Item_Root', 'root', '', '', '', '', '1', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0')

      Cliquez sur le bouton exécuter en bas à droite ...
      Didier L
      Le webmaster de quelques sites associatifs développés sur Joomla !

      Commentaire


      • #4
        Re : MenusTableMenu: :_getNode échoué -

        Merci Didier pour ta réponse, finalement j'ai déjà refait le site à partir d'une nouvelle installation. En tout cas ça peux toujours servir...c'était tout bête la manip, mais quand on n'a jamais fait ça peut être bloquant.
        Dernière édition par shabo à 21/02/2012, 14h57

        Commentaire


        • #5
          Re : MenusTableMenu: :_getNode échoué -

          Bonjour,

          Je n'ai qu'un mot à dire : MERCI !!!

          Problème corriger en 2 minutes en version 2.5.3

          Commentaire


          • #6
            Re : MenusTableMenu: :_getNode échoué -

            Envoyé par didier l Voir le message
            Comment faire cette mise à jour de la base de données

            - lancez php MyAdmin
            - choisir la base de données correspondant à votre site (cliquez éventuellement sur l'onglet bases de données en haut et cliquez 2 fois sur le nom de votre base)
            - cliquez sur l'onglet SQL (le 2e en haut à gauche)
            - la fenêtre "éxécuter votre requête ... " s'affiche ; copier dedans votre requête, sans le nom de la base :

            INSERT INTO `j17_menu` (`id` ,`menutype` ,`title` ,`alias` ,`note` ,`path` ,`link` ,`type` ,`published` ,`parent_id` ,`level` ,`component_id` ,`ordering` ,`checked_out` ,`checked_out_time` ,`browserNav` ,`access` ,`img` ,`template_style_id` ,`params` ,`lft` ,`rgt` ,`home` ,`language` ,`client_id` ) VALUES ( '1', '', 'Menu_Item_Root', 'root', '', '', '', '', '1', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0')

            Cliquez sur le bouton exécuter en bas à droite ...




            Bonjour,
            J'ai le même soucis mais je ne comprends pas quelles parties il faut remplacer dans le texte à copier ? Par quoi je remplace "j17_menu" ? Il y a-t-il d'autres choses à remplacer ?
            Je vous remercie de votre aide !!

            Commentaire


            • #7
              Re : MenusTableMenu: :_getNode échoué -

              Bonjour! J'ai le même souci. J'effectue la requête, et j'ai ce message qui apparaît :

              #1146 - Table 'NOMDELABASEDEDONNEES.j17_menu' doesn't exist

              Avez-vous une idée du problème?

              Merci beaucoup!

              Commentaire


              • #8
                Re : MenusTableMenu: :_getNode échoué -

                error JTableMenu _getNode Failed
                >> pour moi en 2.5.16 la requête suivante a fonctionné (cf lien web ci dessous ). En fait, l'erreur provient qu'il n'y a plus d'ID=1 pour les articles... d'après ce que j'ai cru comprendre l'article suivant: http://www.cmsmind.com/joomla-error-...etnode-failed/
                Ariane - webmaster
                Informatologue - 10 années d'expériences et toujours débutante

                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