Nodes die per Views-Slideshow angezeigt werden nicht außerhalb der Slideshow zugänglich machen
am 31.12.2010 - 00:08 Uhr in
Hallo,
Google hat die Slideshow-Elemente, welche auch als einzelne Nodes zugänglich sind, indexiert. Das will ich verhindern. Nur wie schaffe ich es, dass die Slideshow-Nodes nicht zugänglich sind, die Slideshow an sich jedoch schon?
- j
- Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht könntest du über
am 31.12.2010 - 01:13 Uhr
Vielleicht könntest du über die page.tpl.php oder die node.tpl.php den Zugriff direkt auf die Node-Seiten unterbinden? Mit Node-Access-Modulen wird's wohl schwierig, weil die auch für Views gelten, wenn man also z. B. durch Content Access keinen Zugriff auf einen Node hat, erscheint dieser Node auch nicht in der View.
Aber über die Templates oder evtl. ein Mini-Modul könnte man vielleicht die Auslieferung der Node-Seiten unterbinden. Z. B. anhand des Pfades (welcher bei Node-Pages eigentlich immer "node/nid" sein dürfte) den Zugriff mittels drupal_access_denied() unterbinden oder sowas (ich persönlich würde eher zur page.tpl.php tendieren, weiß nicht, ob man in der node.tpl.php noch ein drupal_access_denied() verwenden kann, aber in der page.tpl.php dürfte man das über eine If-Anweisung anstelle des Contents "ausgeben" können.)
Also ich finde, dass man so
am 31.12.2010 - 13:34 Uhr
Also ich finde, dass man so wenig Logik wie möglich in die Template-Dateien bringen sollte. Eine Änderung der node.tpl.php oder page.tpl.php, sehe ich hierbei schlicht als Hack an. drupal_access_denied() ist m.E. auch wenig zielführend, da es die Seite noch gibt.
Habe auf d.o eine Issue zu diesem Thema eröffnet. Bin gespannt, ob sich eine saubere Lösung ergibt.
Man sollte auch so wenig
am 31.12.2010 - 15:40 Uhr
Man sollte auch so wenig Logik wie möglich in die Template-Dateien bringen, aber manche Dinge lassen sich anders einfach schwierig umsetzen. Wie gesagt, man könnte noch ein eigenes Modul erstellen, welches diese Aufgaben übernimmt.
drupal_access_denied() ist m.E. auch wenig zielführend, da es die Seite noch gibt.
Aber wie willst du sonst den Zugriff sperren? Wenn man das ganze mittels Node-Access-Modulen macht, wird auch nur drupal_access_denied() verwendet, soweit ich weiß. Die Seiten existieren schließlich immer im Drupal-System, weil sie eben angelegt wurden und die Slideshow darauf zugreifen muss.