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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.