Deaktivieren Sie die Knotenübersichtsseite auf / Knotenpfad

7

Ich möchte die Standard-Startseite deaktivieren, auf der eine Liste der Knoten angezeigt wird. Ich verwende eine andere Startseite, diese wird jedoch weiterhin unter der URL angezeigt example.com/node. Es wäre in Ordnung, den Zugriff einzuschränken oder auf die Startseite umzuleiten.

Meine Homepage ist momentan auf eingestellt /home(was schön umgeschrieben wird example.com/). Jetzt habe ich schon ein paar verschiedene Dinge ausprobiert.

  • Unter habe /admin/config/search/pathich einen Alias ​​von nodebis gesetzt home.
    Leider führte dies nur beide in Umleiten example.comund example.com/nodeauf example.com/homedie Knotenliste zeigt - nicht meine Titelseite.
  • Ich habe es mit einem Alias ​​von nodebis versucht <front>(ich weiß nicht, ob das dort überhaupt gültig ist). Dies funktionierte fast /homeund /nodebeide leiten zur example.comAnzeige der richtigen Seite weiter. Aber jetzt ist die Knotenliste verfügbar unter /<front>...
  • Ich habe es auch mit Panels versucht und eine Variante der Knotenvorlage erstellt. Das Zurückgeben eines Statuscodes bei gleichem Pfad nodehat nicht funktioniert, da die Seite nur /node/mit einem Schrägstrich ausgelöst wird. Ich kann kein Panel nur für den Knotenpfad erstellen, da der Pfad natürlich bereits verwendet wird.
  • Es scheint keine Berechtigung zum Festlegen des Zugriffs auf diese Liste zu geben.

Wie kann ich die Seite unter deaktivieren example.com/node?
Ich glaube, mein Problem ist, dass ich nicht einmal weiß, um welche Art von Seite es sich bei dieser Knotenliste handelt. Ich habe das Gefühl, es ist ein einzigartiger Seitentyp, der tief im Kern vergraben ist und nicht einfach deaktiviert werden kann.

Kapex
quelle

Antworten:

10

Wenn Sie mit dem Schreiben eines kleinen benutzerdefinierten Moduls einverstanden sind, können Sie dies ganz einfach tun, indem Sie hook_menu_alter():

function MYMODULE_menu_alter(&$items) {
  $items['node']['access callback'] = FALSE;
}

Das oben Gesagte verweigert den Zugriff auf die Seite. Wenn Sie sie vollständig entfernen möchten, verwenden Sie stattdessen Folgendes:

function MYMODULE_menu_alter(&$items) {
  unset($items['node']);
}

Es gibt eine Diskussion über das Thema hier mit einem paar anderen Ideen , aber ich denke , das ist die einfachste wäre.

Clive
quelle
2

Sie können das Contrib-Modul " Node Page Disable" von Drupal.org installieren.
Deaktivieren Sie dann einfach " Beibehalten / Knoten als aktive URL? " Auf Seite Konfiguration> System> Site- Informationen ( /admin/config/system/site-information) Knotenseite Screenshot deaktivieren

zniki.ru
quelle
1

Ich habe gerade einen Alias ​​von home( Systempfad ) zu node( Alias ) eingerichtet und er funktioniert jetzt. Dies ist das Gegenteil von dem, was ich zuvor versucht habe. Beide Pfade enden auf example.comund zeigen die richtige neue Startseite.

Auf jeden Fall "versteckt" dies wahrscheinlich nur den Systemknoten unter dieser URL, sodass das Entfernen / Verweigern des Zugriffs möglicherweise der bessere Weg ist, dies zu handhaben.

Kapex
quelle