Traversal modifizieren
Peter Zechmeister <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <1306316272.1823.21.camel@pze> |
Hallo,
ich möchte unserer ZMS-Site so etwas wie "Perma-Links" verpassen. Dazu
würde ich Objekte mit ihren Ids und Pfaden indizieren. Wir stellen
sicher, dass Ids eindeutig bleiben. Jedoch können sich Pfade durch
verschieben von Objekten ändern. Anhand der Id sollten sie jedoch im
Baum dann wieder gefunden werden.
Wenn nun ein Request mit einem nicht mehr existierenden Pfad kommt, wird
der letzte Schritt im Pfad (= angefragtes Objekt) als Id genommen, im
Index gesucht und auf den neuen Pfad redirected.
Allerdings will ich Zope/ZMS daran hindern, 404 zu machen. Das könnte
man doch mit __before_publishing_traverse__ abfangen? Prüfen, ob der
Pfad existiert. Falls nicht wird im Index gesucht und umgeleitet oder -
falls dort auch nichts gefunden wird, erst dann ein 404 gemacht. Dazu
muss man aber in das Traversal eingreifen.
Hier http://wiki.zope.org/zope2/ZPublisher werden diese Hooks kurz
erklärt ("[...]However, the request object also provides methods that
change the path segments still to be traversed[...]"), gibts dazu
irgendwo eine genauere Anleitung?
Grü
PeterZ
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope