Ich möchte die menu_rebuild () - Funktion aufrufen , bin mir aber nicht sicher, wo genau das Code-Snippet eingefügt wird .
Ich kann die Datei update.php nirgendwo in meiner lokalen Instanz finden.
Der Grund, warum ich dies versuchen möchte, ist, dass ich alle Knoten gelöscht habe, sie jedoch immer noch in der Menüstruktur angezeigt werden.
/var/www/htdocs/drupal
und es ist eine schlechte Idee, es zu modifizieren. Könnten Sie bitte weitere Details hinzufügen, warum Sie menu_rebuild aufrufen möchten?Antworten:
Erstellen Sie eine Datei mit folgendem Inhalt und legen Sie sie einfach im Drupal-Stammverzeichnis ab. Sagen wir mal
menu-rebuild.php
. Führen Sie es aus http://example.com/menu-rebuild.phpquelle
Drupal 7
Wenn Sie Drush verwenden, können Sie Folgendes ausführen:
Wenn dies nicht funktioniert, lesen Sie: Wie erstelle ich ein Menü neu, wenn ein schwerwiegender PHP-Fehler auftritt?
Drupal 6
zwischengespeichert
Wenn Sie memcached verwenden, müssen Sie es neu starten.
Unter Linux:
/etc/init.d/memcached restart
Unter OS X (wenn Homebrew verwendet wird):
brew services restart memcached
quelle
Öffnen Sie das Datenbankschema und löschen Sie dann den gesamten Inhalt der Tabellen menu_links und menu_router mit den folgenden SQL-Abfragen:
Führen Sie dann http://example.com/update.php aus . Es wird menu_rebuild () aufgerufen, das diese Tabellen mit "frischen" Daten auffüllt. Es hat bei mir funktioniert, nachdem ein "PHP Fatal Error: Out of Memory" einige meiner Menüs in ein Chaos verwandelt hat.
Beachten Sie jedoch, dass alle benutzerdefinierten Menüs gelöscht werden, die manuell neu erstellt werden müssen. Um dies zu vermeiden, können Sie ein bisschen mit dem Löschen einiger ausgewählter Datensätze aus menu_router und menu_links spielen, aber für mich hat es nicht gut funktioniert.
Vergessen Sie nicht, Ihre Datenbank und Ihr Site-Verzeichnis zu sichern, bevor Sie Inhalte aus den Tabellen löschen.
quelle
Ein paar verschiedene Möglichkeiten:
menu_rebuild()
von hook_update_Ndrush cc menu
quelle
menu_cache_clear_all()
, um den Menü-Cache wiederherzustellenWenn
admin/config/development/performance
Sie auf die Schaltfläche "Alle Caches löschen" klicken, wird das Menü neu erstellt und der Cache für Vorlagen, Blöcke, Seiten usw. gelöscht.quelle
Alternativ können Sie die Variable setzen:
variable_set('menu_rebuild_needed', TRUE);
Dies löst die aus
menu_rebuild();
quelle
Um das Admin-Menü zu korrigieren, verwenden Sie SQL und beachten Sie, dass Valk, wie oben angegeben, alle Anpassungen aus Ihrem Administrationsverwaltungsmenü entfernt. Nachdem Sie den Cache geleert haben, wird das Verwaltungsmenü auf die Standardeinstellungen zurückgesetzt.
Hier ist die SQL-Abfrage:
quelle