Deaktivieren Sie von Taxonomie generierte Teaser-Listenseiten

7

Ich habe eine Site, die das Taxonomie-Modul verwendet, um Inhalte zu kategorisieren. Die Vokabulare und Begriffe werden in verschiedenen Ansichten als Argumente und Filter verwendet. Ich möchte nicht, dass das Taxonomie-Modul seine eigenen Seiten unter URLs wie "/ taxonomy / term / 1,2" generiert. Gibt es eine einfache Möglichkeit, diese Funktionalität zu deaktivieren?

Codeblind
quelle

Antworten:

4

Installieren Sie einfach das Views-Modul und aktivieren Sie die Taxonomy Term View. Dies gibt die Option, die Zugriffsberechtigungen auf Authentifiziert oder Verwalten oder eine beliebige Rolle oder Berechtigung festzulegen, um zu verhindern, dass die Seite von der Öffentlichkeit oder von Robotern angezeigt wird.

PS: Wenn Sie Views nicht verwenden, haben Sie Drupal noch nicht entdeckt.

Roller
quelle
Wo legen Sie die Zugriffsberechtigungen fest, nachdem Sie die Ansicht Taxonomiebegriff aktiviert haben?
Benutzer
Egal, ich sehe es auf der Seite mit der Bearbeitungsansicht unter "Seiteneinstellungen"
Benutzer
3

Es wird vom Taxonomiemodul bereitgestellt, sodass Sie es nicht deaktivieren können.

Was Sie tun können, ist ein kleines Modul zu erstellen, das den Pfad überschreibt und sie zu drupal_not_found () umleitet, 15 Zeilen und fertig.

Vielleicht gibt es noch andere Ideen, ich bin auch neugierig, sie zu lesen :)

Pol Dellaiera
quelle
Ich hatte gehofft, jemand hätte das schon für mich getan! Ich frage mich jedoch, ob es möglicherweise nicht schneller ist, mod_rewrite anstelle eines Moduls zu verwenden. Die betreffende Site bietet fast den ganzen Tag über mehr als 20.000 Seitenaufrufe pro Stunde. Daher bin ich immer auf der Suche nach der schnellsten und am wenigsten ressourcenintensiven Lösung.
Codeblind
1

Dies ist eine großartige Verwendung des Panel-Moduls. Ich mache es unter Knoten- / Benutzer- und Taxonomiebedingungen, ich möchte kein öffentliches Gesicht haben.

  • Aktivieren Sie den Seitenmanager für Bedienfelder / ctools
  • Aktivieren Sie die Überschreibung der Begriffsvorlage
  • Erstellen Sie eine Variante (verwenden Sie Auswahlregeln, um sich auf ein Vokabular oder einen Begriff zu beschränken).
  • Wenn Sie nach dem Typ der Panel-Variante gefragt werden, geben Sie den http-Antwortcode an und wählen Sie eine Seite aus, die nicht gefunden oder umgeleitet wurde.

So funktioniert es: Panels übernimmt die Renderig-Aufgabe aus dem Taxonomiemodul und verwendet Ihre Auswahlkriterien, um eine Variante von Panels bereitzustellen, die einfach einen 403/301-Fehlercode ausgibt. Mithilfe von Kontexten und Auswahlregeln können Sie einige ziemlich knifflige Weiterleitungen und Auswahlmagie ausführen. Sie sollten die Emodule ohnehin verwenden, da alles, was Sie installiert haben, auf ctools und Panels basiert und nur die ctools-Seitenmanager-Benutzeroberfläche ist. ;)

Michael Favia
quelle
0

So habe ich es in meinem eigenen Modul namens super_security gemacht:

function super_security_init(){
  GLOBAL $user;
  if (!isset($user->roles[1])){// I want the admin to be able to see everything
    if (arg(0)=="taxonomy"){
      drupal_goto("somewhere_im_allowed_to_be");
      // OR drupal_not_found();
    }   
  } 
}
Coomie
quelle
0

Wie Sie festgestellt haben, erstellt das Taxonomiemodul für jeden Begriff eine Seite, auf der Teaser für alle mit diesem Begriff gekennzeichneten Knoten als Teaser angezeigt werden.

Verwenden Sie ein Modul namens Disable Term Node Listings, um die Erstellung dieser Seiten pro Vokabular zu unterdrücken .

Adam M.
quelle