URL Traversal, Redirect / Plugin ContentLeadImage alternative Bildnamen
Markus Richter <[email protected]> Thu, 23 Feb 2012 14:23:24 +0100
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo an alle Mitlesenden,
Ich habe eine Frage bezüglich der URL Traversal Methode bzw. speziell
zum Plugin ContentLeadImage [1].
Wer das Plugin nicht kennt, kann gleich zur Problembeschreibung
springen. Ansonsten gebe ich noch eine kleine Einleitung dazu, was ich
generell vorhabe. Vielleicht hatte jemand schon denselben Gedankengang
oder hat dafür etwas geschrieben - oder gar eine bessere Alternative.
Einführung:
Das Plugin fügt ein Image-Attribute den Objekten hinzu, welche dann
über folgende URLs aufgerufen werden können:
..object/leadImage
..object/leadImage_thumb
..object/leadImage_small
..object/leadImage_icon
und so weiter. Wobei je nach Suffix eine andere Dimension des Bildes
angezeigt wird.
Der Name des Bildes ("leadImage") ist jedoch hardcoded im Plugin
enthalten. Ich möchte nun im Folgenden dies variabler gestalten, so
dass ein Moderator einen eigenen Namen angeben kann.
Dabei soll aber nach guter Programmierart das Plugin selbst nicht
geändert werden.
Problembeschreibung:
Ich habe eine URL die z.b. http://example.com/object/myimage_thumb lautet.
Dabei ist jedoch "myimage_thumb" kein reelles Objekt, sondern würde
bei normalen Aufruf ein 404 liefern.
Ich möchte nun, dass "myimage_thumb" auf ein anderes Objekt bzw. auf
einen anderen Namen weiterleitet, z.b. "leadImage_thumb".
Das Ergebnis wäre: http://example.com/object/leadImage_thumb.
Der Quellname "myimage_thumb" ist je nach dem Parent-object
verschieden (gespeichert als Attribut).
Ebenfalls soll dies für den User, der das Bild/Webseite aufruft, nicht
sichtbar sein.
Mein Gedankengang war bisher, dass ich beim parsen des URL-Stacks in
der Höhe von "object" einsteige und mittels traverse() und
getTraversalStack() schaue, was als nächstes kommt und - sofern es
sich um "myimage_thumb" handelt - manuell umschreibe.
Jedoch scheint dies nicht die Lösung zu sein und andere
Dokumentationen oder Beispiele zu IPublishTraverse, PublishTraverse,
bobo_traverse usw. haben mich nicht weitergebracht.
Dazu muss gesagt werden, dass ich in der zope/plone Landschaft noch
sehr neu bin und evtl. Zusammenhänge nicht ganz erkenne.
Sofern jemand mir helfen könnte, mich zumindest auf den richtigen Weg
zu bringen, wäre ich sehr dankbar.
Genutzt wird Zope 2 mit Plone 4.0.
Viele Grüße.
[1] http://plone.org/products/content-lead-image
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJPRj3MAAoJEDgaf47lhOJSjD0P/jCEazp5V+c7cd3R5QlcHNsL
gHo4L1p6e9BdjAIg+Gx3/E9rFnPCHp6X43GO8SHboV5SDo2GWMwA9InEtAx/i9OO
1g1CBilwAB9sSiN6AOL5pkLBXcMLNscvbuKwMYJaz0aRI856nCTBBDJV/Bi10P6t
ecvv9vltLt47SAK2DtRv7QFgMAjUuOKomIxL5k1PCudM4h1Co6sPCBgrulykWb+j
4nFoTWapOT/JZUkgbHfqDLmIW0jvhhoLrkTSMWOLylTImKtSC+xql9efYJK5bA/K
isTBMGnh4JA+ujCRS8IeCo2H+Q3+cUqpii32ADQ3orgfDgvQqtrLptQKTdFODBA2
vLYiQwi12HjGsF2YCQ7S1LC75Y6DDT3/P8ill1trXZNUoeQgg7K5dj6d7+ktWAwb
HAq+eMMsbrLm05bWkOQP0Nd7S8HHj6s3SjD7dLKi0U4TprmZUQHwyl/VdRKvXW2F
uiLVs5lgcPINolfM8EKlqP49Si6BHONlwWZUMmxQ2+tivvKgxYAXGDQZrH6xCbk2
zlII7j7szuMcJH4JAqaT8r/e7knift8Sji1YlUYhAkaKGo+l8IeadHQD63zN7Ek9
28l5melBToOJ3NpERfc2umC7OznU75rCBKMglWPeF8YFbTdHAHQwrDCepaONu5NU
rysuPF0g3vbsu1r5b52f
=CSSU
-----END PGP SIGNATURE-----
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope