J3 Issue ? ? Failure

User tests: Successful: Unsuccessful:

avatar Bakual
Bakual
17 May 2018

Pull Request for Issue #19788 .

Summary of Changes

The ComponentAdapter tries to rebuild the nested table after it deletes a duplicate menuitem.
This PR adds the needed arguments to that rebuild call so the function doesn't mess up the table.

Testing Instructions

  • Install and uninstall any extension and make sure both works and the menuitems are created as expected. No changes to current behavior expected here.
  • Install the test component posted in #19788 and uninstall it again (follow test instructions there), It should work now.

Expected result

Everything works

Actual result

The test component produced a messed up menu table.

Documentation Changes Required

None

avatar Bakual Bakual - open - 17 May 2018
avatar Bakual Bakual - change - 17 May 2018
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 17 May 2018
Category Libraries
avatar louisjansen
louisjansen - comment - 20 Dec 2018
  1. I created a backup of my #_menu table
  2. I installed the com_test component
  3. Result is that the component is installed succesfully but I do get the exact same error and warning as with other component installs
  4. I compared the backed-up #_menu with the one after installing the component. Not changes have been made in the #_menu table since com_test was installed
avatar Bakual
Bakual - comment - 20 Dec 2018

@louisjansen Did you apply this PR? And uninstalled com_test again like explained in the test instruction of the referenced issue?

avatar louisjansen
louisjansen - comment - 23 Dec 2018

@louisjansen Did you apply this PR? And uninstalled com_test again like explained in the test instruction of the referenced issue?

Yes I did. But the whole thing with the test instructions is that it describes a situation that I can't reproduce. Since uninstall and re-install a full component generate the exact same issue as mentioned before:

Error
Joomla\CMS\Table\Menu::_getNode(1, ) failed.

×
Warning
Error building Administrator Menus.

I does not matter which component I try to install, uninstall or re-install. This is the message I get. So I don't pass the test instructions anyway.

So unless I am missing the point (I am new to the issue tracker so I would not be surprised) this does not help me in the right direction for now.

avatar Bakual
Bakual - comment - 23 Dec 2018

If you have such issues regardless of this PR, then please go to the Joomla forums and ask for help there. Sounds like something is really messed on your system.
Generally speaking, you should test a PR on a clean system.

avatar jcodewalker
jcodewalker - comment - 9 Apr 2019

So far, the only working solution to fix Joomla\CMS\Table\Menu::_getNode(1, ) failed. is:
https://forum.joomla.org/viewtopic.php?t=632543

avatar Bakual
Bakual - comment - 9 Apr 2019

That's a five page long thread, it would help if you can detail what exactly is the solution instead of pointing to another thread.
The thing I saw written there was to fix lft and rgt values by rebuilding the table. That's of course a valid fix for an already messed up table.
However this PR here tries to prevent messsing up the table in the first place. It will not fix an already broken table.

avatar louisjansen
louisjansen - comment - 10 Apr 2019

However, the query to add a menu item with ID 1 did solve my issues:

  • not being able to create a new menu item

  • not being able to see menu items after installing / updating backend
    components in the administrator section

I had this issue for over a year so I am pretty happy. Never did
analysis on the existence of a menu item with ID 1 before.

Kind regards,

Louis

Thomas Hunziker schreef op 2019-04-09 18:33:

That's a five page long thread, it would help if you can detail what exactly is the solution instead of pointing to another thread.
The thing I saw written there was to fix lft and rgt values by rebuilding the table. That's of course a valid fix for an already messed up table.
However this PR here tries to prevent messsing up the table in the first place. It will not fix an already broken table.

--
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub [1], or mute the thread [2].

Links:

[1]
#20436 (comment)
[2]
https://github.com/notifications/unsubscribe-auth/AdIVGm1ypUl6GEXHv3Ladq5NDhTLcon8ks5vfMDVgaJpZM4UClAa

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 10 Apr 2019

@louisjansen if the Issue is solved please close it.

avatar louisjansen
louisjansen - comment - 10 Apr 2019

@louisjansen if the Issue is solved please close it.

Appologies, where exactly can I do that? Can find any button anywhere.

avatar jcodewalker
jcodewalker - comment - 10 Apr 2019

That's a five page long thread, it would help if you can detail what exactly is the solution instead of pointing to another thread.
The thing I saw written there was to fix lft and rgt values by rebuilding the table. That's of course a valid fix for an already messed up table.
However this PR here tries to prevent messsing up the table in the first place. It will not fix an already broken table.

@Bakual
Pointing to another thread avoids me to make mistakes copy/pasting pieces of informations, not to mention your solution could be just before or just after the pieces I decide to copy/paste. As you correctly remarked, that's a five pages long thread... reading it all costs you a few minutes, that's true, but you can get a more wide information about the problem/solution.

@louisjansen
I know what you are talking about... That's the reason I posted here where I found the solution for my case :-).

Anyway, I wouldn't call it a fix. A fix is when Joomla doesn't let it to happen...

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 10 Apr 2019

@louisjansen sorry, my fault. I thought i'm on an Issue created by you ... to be on an PR by @Bakual surprise me :-)

avatar louisjansen
louisjansen - comment - 10 Apr 2019

@louisjansen sorry, my fault. I thought i'm on an Issue created by you ... to be on an PR by @Bakual surprise me :-)

Well the root cause of the issue has not been solved (why did caused the disappearence of that menu item?). So I am not sure if the thread will be closed. Up to others I guess?

avatar jcodewalker
jcodewalker - comment - 10 Apr 2019

That's a five page long thread, it would help if you can detail what exactly is the solution instead of pointing to another thread.
The thing I saw written there was to fix lft and rgt values by rebuilding the table. That's of course a valid fix for an already messed up table.
However this PR here tries to prevent messsing up the table in the first place. It will not fix an already broken table.

The query that solved my problem is this:
`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###.###DBPREFIX###_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')`
    for Joomla 1.6 version.

For the latest Joomla (and mysql) versions :
INSERT INTO ###DATABASE_NAME###.###DBPREFIX###_menu (id ,menutype ,title ,alias ,note ,path ,link ,type ,published ,parent_id ,level ,component_id ,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', '1000-01-01 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0')

Hope this help you as well.

avatar Bakual
Bakual - comment - 10 Apr 2019

Well the root cause of the issue has not been solved (why did caused the disappearence of that menu item?). So I am not sure if the thread will be closed. Up to others I guess?

This PR tries to solve the root cause (at least what I think it is). It would help if people test it ?
The missing root menuitem may be a result if the issue I try to fix here, but it's certainly not a fix to the source of the problem.

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 10 Apr 2019
avatar jcodewalker
jcodewalker - comment - 11 Apr 2019

I'm ready to test but I'm not able to find any patch for this, using the patch tester component search tool...

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 11 Apr 2019

You have fetched the Data?

avatar jcodewalker
jcodewalker - comment - 11 Apr 2019

@franz-wohlkoenig no, I don't get any looking for either "Pass lft, level and path to rebuild function" or "id:20436"

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 11 Apr 2019

after installing patchtester you have to fetch the data, then you can apply a Pull Request. Please read also https://brian.teeman.net/joomla/873-a-dummies-guide-to-joomla-bug-testing

avatar jcodewalker
jcodewalker - comment - 11 Apr 2019

I had to remove all and reinstall all...
So, it works!
I mean, it doesn't repair. It works on a brand new installation.

Test:
on web
brand new installation J3.9.5
installed the patch tester component
installed the patch
installed the component that was generating the problem and it seems working fine now.
I'm going to work on it in the following days and I can confirm in few days (I hope).

On the other hand, I tested the patch on other 2 sites (both locale) a J3.9.5 and a J3.8.10, both with the problem already shown, and the patch doesn't solve the problem on both.

So, below the line, so far the patch works fine in a brand new installation.
It doesn't fix the problem if you already have it.

avatar Bakual
Bakual - comment - 11 Apr 2019

Yep that is expected.
This PR doesn't fix an already messed up table. It only solves that it doesn't happen in the first place.

I'm going to mark your test as successful. Thanks for the help.

avatar Bakual Bakual - alter_testresult - 11 Apr 2019 - jcodewalker: Tested successfully
avatar alikon
alikon - comment - 13 Apr 2019

so before patch using the posted component and as per testing info you will arrive to mess up the table something like this happens when you try to add a new menu item (for example)
Screenshot from 2019-04-13 12-11-25

after patch this didn't happens more

avatar alikon
alikon - comment - 13 Apr 2019

I have tested this item successfully on f340ce6


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20436.

avatar alikon
alikon - comment - 13 Apr 2019

I have tested this item successfully on f340ce6


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20436.

avatar alikon alikon - test_item - 13 Apr 2019 - Tested successfully
avatar franz-wohlkoenig franz-wohlkoenig - change - 13 Apr 2019
Status Pending Ready to Commit
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 13 Apr 2019

Status "Ready To Commit".

avatar HLeithner HLeithner - change - 14 Apr 2019
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2019-04-14 10:42:17
Closed_By HLeithner
Labels Added: ?
avatar HLeithner
HLeithner - comment - 14 Apr 2019

thx

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

Hi,
the patch seems no longer available...
I'm not able to find it any more in joomla patch tester.
Any hint?
Thanks


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20436.

avatar alikon
alikon - comment - 22 Apr 2019

it is merged

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@alikon what does it mean? It's already included in v3.9.5 I download now? Or it will be included in next 3.9.6?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20436.

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@alikon what does it mean? It's already included in v3.9.5 I download now? Or it will be included in next 3.9.6?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20436.

avatar alikon
alikon - comment - 22 Apr 2019

it is in current staging and will be available when 3.9.6 will be released

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

So, why ii's not longer available since it doesn't fix an already corrupted installation?
I have to rebuild a whole site already corrupted to get rid of this issue and there is not a patch available nor a version "issue-free" to install...
It was better I didn't say it works... :-)
Seriously guys, the patch should be available until is available a new version which include it.
I can't believe there is a solution and it's not available...
How can I prevent this issue in a new installation? Or to fix it in an already corrupted one?

avatar infograf768
infograf768 - comment - 22 Apr 2019

You can modify manually
- means delete line
+ means add line

diff --git a/libraries/src/Installer/Adapter/ComponentAdapter.php b/libraries/src/Installer/Adapter/ComponentAdapter.php
index 4cf1b20352c4..499415ec8834 100644
--- a/libraries/src/Installer/Adapter/ComponentAdapter.php
+++ b/libraries/src/Installer/Adapter/ComponentAdapter.php
@@ -1375,7 +1375,8 @@ protected function _createAdminMenuItem(array &$data, $parentId)
 				/** @var  \JTableMenu $temporaryTable */
 				$temporaryTable = Table::getInstance('menu');
 				$temporaryTable->delete($menu_id, true);
-				$temporaryTable->rebuild($data['parent_id']);
+				$temporaryTable->load($parentId);
+				$temporaryTable->rebuild($parentId, $temporaryTable->lft, $temporaryTable->level, $temporaryTable->path);
 
 				// Retry creating the menu item
 				$table->setLocation($parentId, 'last-child');
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 22 Apr 2019

So, why ii's not longer available since it doesn't fix an already corrupted installation?

@jcodewalker as @alikon mentioned its merged and as you see above:
Screen Shot 2019-04-22 at 09 34 24

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

So, why ii's not longer available since it doesn't fix an already corrupted installation?

@jcodewalker as @alikon mentioned its merged and as you see above:
Screen Shot 2019-04-22 at 09 34 24

It's merged doesn't mean is available.
10 days ago the issue was solvable, today it's not.

I think this is not an intelligent policy.
A proven working path should be available until a new downloadable release include it.

avatar Bakual
Bakual - comment - 22 Apr 2019

Seriously: PRs aren't meant to be applied to productive sites. Also the Patchtester has no business on production sites.
Once a PR is merged, its source branch usually gets deleted because it serves no purpose anymore. The changes are still visible in the PR and the code is in the main branch. That's normal.

avatar HLeithner
HLeithner - comment - 22 Apr 2019

@jcodewalker patchtester is for testing patches not for hotfixing the cms but I understand your problem, patchtester is easy to use.

Anyway you can simple replace your "/libraries/src/Installer/Adapter/ComponentAdapter.php" with ftp with this version: https://raw.githubusercontent.com/Bakual/joomla-cms/f340ce64c3c89f47e20698d86ac5a9a73fd54f96/libraries/src/Installer/Adapter/ComponentAdapter.php

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@Bakual be clear, mine it's a constructive criticism (at least in my intensions).
Technically what you say is correct.
Now, be practical. There are a lot of people that work with this cms, have customers and have to fix their problems... Customers simply don't care if it's merged, is still a patch, if it's on github or whatever. They think "it works" or "it doesn't work".
Now I have to explain to my customers that yes, the issue is fixed, I can rebuild the site but... "it's merged".

While I'm writing, I see the reply of HLeithner. Great! This is what I talking of: be solutionist!
Thanks @HLeithner,

avatar Bakual
Bakual - comment - 22 Apr 2019

Solution for fixing your site when you can't wait for the next release: Learn how GitHub works and don't rely on Patchtester ( which WILL let you down).
Everything is available here.

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@Bakual Learn how GitHub works

As long as you talk about few people involved this could be the right solution.
It is not when we talk about millions of people.
(Millions of people) x (time-to-learn-how-github-works-because-something-coded-by-orhers-has-a-problem) = yeas of time lost. Is it a sign of intelligence in any manner? no.
Not to mention that Joomla's users are not meant to have to learn GitHub in order to let the cms run properly. There is no advice for this on the official site.
If what you say was the right solution there were not need to make a patch tester component. It was made to let the things be easier, isn't it?

Solution(s):

  1. leave the patch available until the downloadable release is available (and stop to defend something which has a better solution)
    OR
  2. instructions on how to update file(s) of existing installations (like @HLeithner kindly did). Short, simple, fast.

The third solution is, next time I use my time to set-up an environment to test a patch and it works I don't say nothing, so it remains available. When I finished to update my sites, if I remember it I will inform you. Perhaps do you like much the latter? Because you are communicating this. Please, note that "say" and "communicate" are two totally different things.

I'm highlighting that there are areas of improvement but as long as you are engaged to defend what we have now... you can't see the progress.

There is a space for a bugfixer. As soon as a patch is approved should be immediately be available to be included using the bugfixer, being part of the core cms. The user will be noticed with a message.

The mind is like a parachute, it works only when it is open (cit. Einstein).
;-)

avatar mbabker
mbabker - comment - 22 Apr 2019

If what you say was the right solution there were not need to make a patch tester component. It was made to let the things be easier, isn't it?

The name speaks for itself, com_patchtester is a tool designed to assist users who are looking to TEST a PATCH for Joomla. It is not a tool for (permanently) hotfixing production websites and if you are trying to use it for that purpose then as a lot of companies would say if Joomla had one "this action will void your warranty".

leave the patch available until the downloadable release is available

It is. The patch on GitHub doesn't disappear simply because it was merged to the main repository. com_patchtester can't apply the patch anymore if the source branch the patch came from was deleted because of how it applies changes, contributors should not be expected to not delete merged branches until after a tagged release is issued to accommodate one tool's workflow. This is the part where "learn GitHub" comes into play. Either you need to know how to read the changed files view to understand what files are changed, what lines are removed, and what lines are added to be able to manually make the changes needed; or, you need to understand that GitHub allows you to suffix pull request URLs with .diff or .patch (i.e. https://github.com/joomla/joomla-cms/pull/20436.diff) which gives you a patch file that can be applied with a command line function (git apply patch.diff or patch < patch.diff).

There is a space for a bugfixer. As soon as a patch is approved should be immediately be available to be included using the bugfixer, being part of the core cms. The user will be noticed with a message.

There is no "bug fixer", there are regularly scheduled releases which include a chunk of fixed bugs, that is the only thing you should be using on a production website unless you understand how to apply patches and maintain them (not a core Joomla supported thing). If having a change applied to your website is such an emergency that you cannot wait for the stable release then your most realistic options are to either manually change the files needed or to use a nightly build containing the fix.

Why is making com_patchtester suitable for use on production sites problematic? If the core Joomla workflow was one where everything had to be able to be applied by that component at any time in the release cycle, it would mean that no patch could be merged until it is time to build a release. Imagine trying to handle merging 30 patches from an administrative perspective, do QA on those all in one shot and make sure none of those 30 patches also conflict with any of the other patches or introduce new bugs as a result of changes in the other patches. This is why patches are routinely merged and things just don't wait until the last minute.

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@mbabker

What's the difference to apply a patch from GiHub or via patchtester? If it works... works.
I know that there isn't a "bug fixer" (well, it should be patch installer actually). It was a suggestion because I see that using the patchtester to install a patch (and not just to test) disturbs you so much... ;-)
Like @HLeithner said, patchtester is easy to use and it seems you (not you personally, don't get me wrong, you programmers) don't like an icon you click on and... voilà, it works! :-)

J3.9.5 is not a developer release, it's a defined stable release yet has this bug almost 10 years after the first note I found (https://forum.joomla.org/viewtopic.php?t=632543). So, stable, production or test are only semantic (personal) differences.

From my personal point of view, there no reason to make a thing easier.
Cheers

avatar mbabker
mbabker - comment - 22 Apr 2019

It's not about trying to make things easier or harder. For the vast majority of users, the last thing we want is them using com_patchtester on a production website for a wide variety of reasons (it has quirks dealing with binary file types, it does not actually "patch" a file but replaces it based on the remote branch, which if there are other changes in that file not in the remote branch that can too cause problems, and it cannot deal with SQL delta changes). So while it might work for some patches in some cases, it is definitely not intended for production use and it is highly encouraged to NOT use it there (if you want to, that is your choice, we cannot stop you, but it seriously is not the best of ideas).

We also don't want to encourage a practice of selectively hotfixing sites with random patches (either already merged to the code repo meaning they'll be in the next release or something that is a long standing pull request that has yet to be addressed). You generally want software to be in a known state, so if you say you're running Joomla 3.9.5 then that should be verifiable against the core 3.9.5 packages. If you're running 3.9.5 + PR 20436 + PR 1234 + local modification X, that means your environment isn't in a known state (outside of whomever made those changes at least). So anyone auditing your site and seeing files are changed when comparing against the source is at best going to ask if you've made any deliberate changes and at worst going to assume your site is hacked and treat it as such.

patchtester is easy to use and it seems you (not you personally, don't get me wrong, you programmers) don't like an icon you click on and... voilà, it works! :-)

On the contrary. The entire reason I picked up maintenance of that tool was we wanted to make it easier for folks to be able to test patches in an environment, report their findings, then reset back to the unpatched state, because not everyone contributing to Joomla is comfortable working in a command line or code driven interface (knows how to use git, knows how to use diff/patch tools, etc.). So yes, we do want to make it easy for people to help ensure patches that are important to them are able to be tested and either merged to core or iterated on if they still have issues, and yes it comes with the side effect of people being able to install the tool and use it for hotfixing production websites, but this is not the intended purpose of it and I don't think many people are going to encourage using com_patchtester in this way.

avatar jcodewalker
jcodewalker - comment - 22 Apr 2019

@mbabker I totally agree with you.

This is the reason I set up a fresh new installation to test the patch.

At the same time, having a way to install patches randomly but not in an easy way... c'mon man... you know we out here are all codekillers! :-)

avatar Bakual
Bakual - comment - 22 Apr 2019

If you test the patches and they get merged, it actually becomes simpler for millions of websites to apply that patch. It just takes a few weeks max and it's available with the click of the "Update Joomla" button. Can't get much simpler than that ?

If you can't wait for whatever reason, you can always go to GitHub, look for the merged PR and then click on the "Files changed" tab:
image

This gives you a nice overview of what lines have been changed. You can go and change that manually (prefferred), or you can click on the "View File" and then the "Raw" button. That gives you the full file which you can save and use to replace the one on your server using FTP. Pretty much exactly what the Patchtester does. It is the link Harald Leithner gave you.

That's why I wrote learn how GitHub works.
It's still all there, nothing is lost when the branch is deleted.
Just the Patchtester will not allow you to apply it anymore. But it doesn't allow you to merge closed/merged PRs anyway, regardless if the branch is deleted or not. Simply because a closed/merged PR doesn't require any tests anymore and we don't want to waste peoples time here.

avatar DragoneReina
DragoneReina - comment - 3 Jan 2020

Ma la soluzione a questo problema è quasi elementare ovviamente per chi ha un minimo di conoscenza di database, giusto per risolvere questo problema vi è una guida step by step qui
https://mywall.altervista.org/index.php/component/content/article/37-magazine/problemi-e-soluzioni/13-errore-joomla-cms-table-menu-getnode-1-failed?Itemid=101

e comunque pubblico qui l'articolo

### errore: joomla\cms\table\menu::_getnode(1, ) failed
Vi è mai capitato di riscontrare questo errore ?

"joomla\cms\table\menu::_getnode(1, ) failed"

non sapete cosa significa ma vi rendete conto che i componenti che installate non appaiono nella lista componenti vero ?

Bhe non preoccupatevi

intanto l'errore non è dovuto a un singolo componente che state cercando di installare ma a qualsiasi componente che generi un menù

non preoccupatevi e non abbiate paura è semplice risolverlo in pochissimi secondi

allora (ovviamente parlo di altervista ma è valido per chiunue)
comunque seguite con me questi passaggi e risolveremo subito il problema

  1. Accedete al pannello di controllo di altervista

  2. nel pannello "BACHECA" di altervista nella sezione "Database" (la trovate sulla sinistra subito sotto il quadrante "risorse") PREMETE la voce Accedi a PhpMyAdmin

  3. una volta entrati nel pannello Php my Admin sulla sinistra in alto premete sulla voce My_nomedeltuosito (es queso sito ha la voce My_mywall) di solito è il primo in alto se usate altervista

  4. una volta premuto li vi apparirà una lista con tutte le tabelle del vostro database, non toccatele e in alto premete sul pulsante "SQL"

  5. una volta premuto SQL vi apparirà una sorta di spazio per inserire del testo non dovete fare altro che copiare il testo riportato qui sotto e incollarlo li dentro , l'unico accorgimento che dovete fare è sostituire la voce PREFISSO nel codice col prefisso del vostro database, se non sapete qual'è cercate una voce nella lista del vostro database che si chiami PREFISSO_menu potrebbe essere qualsiasi cosa, nel mio caso è dda_menu per voi potrebbe essere esempio abc_menu f2s_menu ecc è casuale .

    Se ancora non siete sicuri di quale sia il vostro prefisso nel pannello di controllo di Joomla andate su [Sistema -> Configurazione Globale -> Server] Nella colonna di destra troverete "Impostazioni Database" guardando li troverete "Prefisso tabelle database" quello che vedete lì è il vostro Prefisso quello che dovete scrivere nel codice qui sotto al posto di "PREFISSO_" cioè quello scritto in rosso

INSERT INTO PREFISSO_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

Nel mio caso diventerà:

INSERT INTO dda_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

Una volta copiato il codice dovete premere il pulsante in basso a destra della finestra dove va inserito il codice con su scritto Esegui

se avete fatto tutto in modo corretto un messaggio in verde dovrebbe dirti che tutto è andato ok e che è stato restituito un certo valore ecc ecc nulla di che l'importante e che sia verde ^^

Fatto questo tornate nel vostro pannello di controllo di Joomla e premete aggiorna sul vostro browser internet (es chrome) e tentate di reinstallare il vostro componente e vedrete che tutto filerà liscio questa volta XD

avatar DragoneReina
DragoneReina - comment - 3 Jan 2020

errore: joomla\cms\table\menu::_getnode(1, ) failed

Vi è mai capitato di riscontrare questo errore ?

"joomla\cms\table\menu::_getnode(1, ) failed"

non sapete cosa significa ma vi rendete conto che i componenti che installate non appaiono nella lista componenti vero ?

Bhe non preoccupatevi

intanto l'errore non è dovuto a un singolo componente che state cercando di installare ma a qualsiasi componente che generi un menù

non preoccupatevi e non abbiate paura è semplice risolverlo in pochissimi secondi

allora (ovviamente parlo di altervista ma è valido per chiunue l'importante è accedere al vostro database, quindi se non siete utenti altervista saltate i punti 1 e 2)
comunque seguite con me questi passaggi e risolveremo subito il problema

  1. Accedete al pannello di controllo di altervista

  2. nel pannello "BACHECA" di altervista nella sezione "Database" (la trovate sulla sinistra subito sotto il quadrante "risorse") PREMETE la voce Accedi a PhpMyAdmin

  3. una volta entrati nel pannello Php my Admin sulla sinistra in alto premete sulla voce My_nomedeltuosito (es queso sito ha la voce My_mywall) di solito è il primo in alto se usate altervista

  4. una volta premuto li vi apparirà una lista con tutte le tabelle del vostro database, non toccatele e in alto premete sul pulsante "SQL"

  5. una volta premuto SQL vi apparirà una sorta di spazio per inserire del testo non dovete fare altro che copiare il testo riportato qui sotto e incollarlo li dentro , l'unico accorgimento che dovete fare è sostituire la voce PREFISSO nel codice col prefisso del vostro database, se non sapete qual'è cercate una voce nella lista del vostro database che si chiami PREFISSO_menu potrebbe essere qualsiasi cosa, nel mio caso è dda_menu per voi potrebbe essere esempio abc_menu f2s_menu ecc è casuale .

    Se ancora non siete sicuri di quale sia il vostro prefisso nel pannello di controllo di Joomla andate su [Sistema -> Configurazione Globale -> Server] Nella colonna di destra troverete "Impostazioni Database" guardando li troverete "Prefisso tabelle database" quello che vedete lì è il vostro Prefisso quello che dovete scrivere nel codice qui sotto al posto di "PREFISSO_" cioè quello scritto in rosso

INSERT INTO PREFISSO_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

Nel mio caso diventerà:

INSERT INTO dda_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

Una volta copiato il codice dovete premere il pulsante in basso a destra della finestra dove va inserito il codice con su scritto Esegui

se avete fatto tutto in modo corretto un messaggio in verde dovrebbe dirti che tutto è andato ok e che è stato restituito un certo valore ecc ecc nulla di che l'importante e che sia verde ^^

Fatto questo tornate nel vostro pannello di controllo di Joomla e premete aggiorna sul vostro browser internet (es chrome) e tentate di reinstallare il vostro componente e vedrete che tutto filerà liscio questa volta XD

avatar Bakual
Bakual - comment - 3 Jan 2020

@DragoneReina First, this is a merged PR, thus commenting here will not get you the attention you need.
Second, I don't understand a word. Please use english in the tracker here or use the forums (http://forum.joomla.org/) if you need assistance.

avatar HLeithner
HLeithner - comment - 3 Jan 2020

The deepl translation isn't really good^^ but I think it's a help entry to fix the menu table if it's broken. @alikon could you help here?

avatar alikon
alikon - comment - 4 Jan 2020

could be better to open a new issue @DragoneReina if needed

avatar DragoneReina
DragoneReina - comment - 6 Jan 2020

I'm sorry and that I saw it in Italian the post
now from the mobile I see it in English
I was trying to give a simple explanation for the error of the table that is the exact solution to solve it it takes 2 minutes at most and it is fixed and very simple

avatar DragoneReina
DragoneReina - comment - 6 Jan 2020

this is an article that I wrote on my site

error: joomla \ cms \ table \ menu :: _ getnode (1,) failed

Have you ever encountered this error?

you don't know what it means but do you realize that the components you install do not appear in the component list do you?
don't worry and don't be afraid it's easy to solve it in a few seconds

then (obviously I speak of altervista but it is valid for whoever the important thing is to access your database, so if you are not an altervista user skip points 1 and 2)
however, follow these steps with me and we will solve the problem immediately

Access the alterview control panel

in the "BOARD" panel of altervista in the "Database" section (you can find it on the left just under the "resources" dial) PRESS the item Access PhpMyAdmin

once you have entered the Php my Admin panel on the left at the top, press on the My_nomedeltuosito item (eg this site has the My_mywall item) it is usually the first at the top if you use altervista

once pressed, a list will appear with all the tables in your database, do not touch them and at the top press the "SQL" button

once you press SQL you will see a sort of space to insert text you just have to copy the text below and paste it in there, the only trick you need to do is replace the PREFIXED entry in the code with the prefix of your database, if you don't know what it is look for an entry in the list of your database that is called PREFISSO_menu it could be anything, in my case it is dda_menu for you it could be an example abc_menu f2s_menu etc. it is random.

If you are still not sure what your prefix is ​​in the Joomla control panel go to [System -> Global Configuration -> Server] In the right column you will find "Database Settings" looking at them you will find "Database table prefix" what you see there it is your prefix what you have to write in the code below instead of "PREFIX_" that is the one written in red

INSERT INTO PREFISSO_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

In my case it will become:

INSERT INTO dda_menu (id, menutype, title, alias, note, path, link, type, published, parent_id, level, component_id, 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', '0000-00-00 00:00:00', '0', '0', '', '0', '', '0', '0', '0', '*', '0');

Once the code has been copied, you must press the button at the bottom right of the window where the code with Run is written

if you did everything correctly a message in green should tell you that everything went ok and that a certain value was returned etc. etc. nothing important and that it is green ^^

Once this is done go back to your Joomla control panel and press update on your internet browser (eg chrome) and try to reinstall your component and you will see that everything will go smoothly this time XD

avatar Bakual
Bakual - comment - 6 Jan 2020

Please open a new issue and don't comment on merged/closed PRs.
I'm going to lock this conversation.

Add a Comment

Login with GitHub to post a comment