Verstehe, du willst dem User also farblich darstellen WO er sich gerade befindet, oder?
Das kannst du relativ einfach mit Zope Page Templates machen.
Erstelle z.b. eine kleine Ordnerstruktur die so aussehen könnte:
Im Ordner homepage erstellst du nun ein Page Template "index_html". Dies könnte z.b. so aussehen:
Code: Alles auswählen
Home:
<a href="HOME_URL" tal:attributes="href container/absolute_url"
tal:content="container/title_or_id">HOME TITLE OR ID</a><br>
<span tal:define="hier here/title_or_id">
<span tal:repeat="foldy python:container.objectValues(['Folder'])" tal:omit-tag="">
<a href="URL" style="color:red;"
tal:condition="python:hier!=foldy.title_or_id()"
tal:attributes="href foldy/absolute_url"
tal:content="foldy/title_or_id">TITLE OR ID</a>
<a href="URL" style="color:green;"
tal:condition="python:hier==foldy.title_or_id()"
tal:attributes="href foldy/absolute_url"
tal:content="foldy/title_or_id">TITLE OR ID</a>
|
</span>
<p>Sie sind hier:<div tal:content="python:hier">bla</div>
</span>
Zur Erklärung:
Hiermit definiert man eine Variable "hier" die den titel bzw id des aktuellen Objektes beinhaltet, also z.b. "teil2" wenn du dich im Folder teil2 befindest.
Wichtig dabei ist dass die Variable "hier" nur innerhalb des <span> Tags verfügbar ist!
Code: Alles auswählen
<span tal:repeat="foldy python:container.objectValues(['Folder'])" tal:omit-tag="">
Hiermit Iterierst du durch die Sequence die dir die Methode objectValues zurückgibt, nämlich alle Unterordner unseres containers "homepage".
Auch hier ist unsere Variable foldy nur innerhalb des <span> Tags gültig!
Code: Alles auswählen
<a href="URL" style="color:red;"
tal:condition="python:hier!=foldy.title_or_id()"
tal:attributes="href foldy/absolute_url"
tal:content="foldy/title_or_id">TITLE OR ID</a>
Innerhalb unserer Schleife erstelle wir in Abhängigkeit (condition) unserer momentanen Position (siehe Variable "hier") links in 2 verschiedenen Farben. Wenn der Folder über den wir gerade iterieren unserer momentan Position entspricht machen wir einen grünen Link, anderenfalls einen roten.
Der "Trick" ist also in Abhängigkeit der angefordeten URL verschieden <a> Tags zu schreiben wie man es in einer simplen If Anweisung auch machen würde.
Hoffe ich konnte einigermassen helfen.