Re: "include" Reference-Object?
Stefan Palme <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <1235242583.5796.5.camel@drops> |
Hallo,
> Wie kann ich ein referenziertes Objekt in meine Seite einbauen? Das
> referenzierte Objekt ist ein eigener Content-Type (spezieller Teaser),
> für das es auch eine View-Pagetemplate gibt (klar ;-) Diese Template hat
> wie üblich eine Makro-Definition.
>
> An das referenzierte Objekt komme ich heran.
>
> Ich möchte nun den Teaser in meiner Seite einbauen. Damit ich keine
> Code-Dopplung habe, möchte ich quasi sagen:
>
> rendere dich mal mit deinem Makro "main"
>
> Mit ref/getReferenceObject/view bekommen auch den Seitenrahmen (im
> use-macro des Templates), den ich natürlich nicht will.
Ich mache das oft so:
PageTemplate myContentType_view_raw:
<div metal:define-macro="main">
<!-- Hier der HTML-Code für das Rendern Deines Objektes,
ohne das ganze Plone-Blafasel drumrum
-->
</div>
PageTemplate myContentType_view (default-View deines CT):
<html metal:use-macro="here/main_template/macros/master">
<div metal:fill-slot="main">
<div metal:define-macro="main">
<div metal:use-macro="here/myContentType_view_raw/macros/main" />
</div>
</div>
</html>
In dem Page-Template, in dem Du Deinen Content-Type ebenfalls
als Teil der kompletten Seite einbauen willst, verwendest Du
auch einfach
<div metal:use-macro="obj/myContentType_view_raw/macros/main" />
(Beachte, dass Du hier natürlich nicht here/..., sondern obj/... machen
musst, wobei "obj" die Referenz auf Dein Objekt ist.
-stefan-
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope