Wie kann man den direkten Zugriff auf die Knoten einschränken, aber nur zulassen, dass Ansichten auf das erforderliche Feld des jeweiligen Knotentyps zugreifen?
Zum Beispiel schieben wir in Views Slideshow das Bildfeld, das zu einem bestimmten Knotentyp gehört. Wir möchten jedoch nicht, dass Suchmaschinen auf die Knoten zugreifen und dass Besucher auf die Knoten zugreifen, die zu diesem Knotentyp gehören.
Irgendwelche Vorschläge?
Die Knotenseitenansicht einschränken scheint eine bessere Möglichkeit zu sein, den direkten Zugriff auf Knoten eines bestimmten Inhaltstyps einzuschränken.
Die Verwendung ist auch recht einfach. Sie müssen nur dieses Modul aktivieren und die Berechtigungen für die Knoten konfigurieren, auf die direkt wie gewohnt zugegriffen werden kann.
http://drupal.org/project/restrict_node_page_view
Von der Projektseite:
quelle
Ein anderes Modul, das das Gleiche tut, aber über mehr Funktionen verfügt.
Kaninchenbau
Maintainer dieses Projekts bitten den Maintainer, die Knotenseitenansicht einzuschränken, um Projekte in Problemen zusammenzuführen.
Vorteile gegenüber "Node Page View einschränken":
Nachteil gegenüber "Node Page View einschränken":
quelle
Sie sollten verwenden
node_access()
, es gibt bestimmte Optionen, die Sie leicht mit implementieren könnenhook_node_access()
. Durch die Implementierungnode_access()
können Sie entscheiden, wer auf einen Knoten zugreifen und wer einen solchen Knoten erstellen, löschen, bearbeiten oder aktualisieren kann. Views können jedoch immer noch Daten von diesen Knoten abrufen.hook_node_access () , node_access ()
quelle
Inspiriert von https://www.drupal.org/project/restrict_node_page_view können Sie selbst ein kleines Modul schreiben:
quelle
Mit dem Modul Regeln können Sie eine Regel implementieren, die ungefähr so aussieht:
Die obige Regel berücksichtigt (noch) nicht, dass die "Aktion" nur für ausgewählte Rollen angewendet wird (z. B. damit Administratoren diese Pfade weiterhin zum Anzeigen eines Knotens verwenden können). Aber für alle, die ein wenig mit dem Modul Regeln vertraut sind, ist dies eine einfache "Bedingung", die hinzugefügt werden muss ...
Um mit dieser Regel auf Ihrer eigenen Site zu experimentieren, kopieren Sie einfach den gesamten obigen Regelcode und fügen Sie ihn in eine neue Regel auf Ihrer eigenen Site ein, die über die Funktion "Importieren" erstellt wurde. Dann weiter bearbeiten / verfeinern, damit es in Ihre eigene Umgebung passt (z. B. wird die Meldung "Sorry, ..." angezeigt).
quelle