[Zope] zpt, metal and missing content objects (bit long)
Jochen Haeberle
listen@midras.de
Thu, 12 Sep 2002 19:41:08 +0200
Hi Tim,
given, that your html fragments _really_ are the content and not part
of the presentation (for example because you're working on a Site on
"best practice HTML") and no other object types than the basic ones
you're right, there's no document that fits.
If CMF was an option, that holds several content-types that would
_exactly_ fit your need...
Doing a ZClass for what you need should not be too tricky, as it just
should hold properties, no special functionality...
But nevertheless, from your original post I replied to, I still have
the feeling you might not have the correct notion how some things in
Zope work...
Jochen
At 17:50 Uhr +0100 12.09.2002, Tim Hicks wrote:
>Jochen,
>
>thanks for your reply. See response in line below.
>
>> At 15:23 Uhr +0100 12.09.2002, Tim Hicks wrote:
>> >So, with that little issue overcome, I guess the only thing I'm left
>> >wondering is why my content objects need to contain any explicit use of
>zpt
>> >*within their source* (as opposed to as a property on the object). Using
>> >only standard zope objects, the only ways I can see of overcoming this
>> >require nasty url mangling that locks me into a specific site system (due
>to
>> >embedded links). By this I mean, if I want to have a zpt called as a
>method
>> >of my object when it's rendered, I could do one of:
>> >
>> >/render?id=content_object
>> >/content_object/view
>> >
>> >where 'render' is some sort of script that does something like
>> >standard_template.__of__(content_object) and where view is an alias to
>> >'standard_template'.
>>
>> No, you don't need such things. All objects in Zope, that need this,
>> have their own view method... folderish objects on the other hand,
>> look for an index_html for default. This way you can achieve the
>> rendering of an object (a folder is an object, too) using the given
>> template.
>
>I know what you are saying here. 'All objects in Zope, that need this, have
>their own view method' - well, I want to be able to define the view method,
>but I don't think I can without one of the two schemes I detailed above.
>
>> This idea is abit difficult to grap at first and is quite different
>> from what other AppServers do!
>>
>> Did you have a look at the Zope Book
>> (http://www.zope.org/Documentation/Books/ZopeBook/current),
>> especially the part on acquisition and ZPT already? You need to graps
>> the idea of acquisition, first...
>
>I have seen this (and while I don't claim to have read it all - or even
>remembered all I've read), but I still seem to be coming up against this
>issue of content.
>
>> You would _not_ use a zpt as a content object! A ZPT is a template
>> for viewing content. It holds placeholders where your content is put
>> in. Your content would be stored in specialised objects that fit your
>> needs for that. those objects hold the content usually in properties.
>
>I think we agree here, ZPT is _not_ a content object. It seems to be a very
>good way of templating actual content objects. My problem is apparently a
>lack of a 'specialised object' that fits my needs. This seems surprising
>given that all I want to do is store html fragments and sandwich them with
>standard headers and footers. I would have thought this was a very common
>use case.
>
>> You are right, there is no Basic-Zope object besides fodler that work
>> this way :-( But you can experiment further with more objects.
>
>I realise that Folders could be used, but this is fairly unattractive to me
>as it would make a bit of a mess of the ZMI tree, seem rather unintuitive to
>naive users ("how can the page be a folder?") and because they do not
>provide the sort of easy TTW editing interface that DTML Documents / ZPTs
>and the like have in the ZMI.
>
>I have experimented with other objects (both standard zope and third party -
>including my own). Given my current requirements are for an object from the
>base zope install (which is looking increasingly unlikely to fit with what I
>want), the best I could find was the 'File' object. For plain text under
>64KB (I think), they provide nice textarea editing (well, as nice as that
>can be ;-) ) in the zmi. Evan Simpson posted a method whereby I could use a
>mixture of 'Folders' and 'Files' to get around my default view method
>problem
>(http://zope.nipltd.com/public/lists/zope-archive.nsf/ByKey/E56D8933FDE6BDA2
>). This would work, but seems like a hack to me and leaves me with a folder
>and a file for every logical content object :-(, and to some extent, similar
>issues to what I had with just using Folders as content objects. This still
>seems like a better solution to me though, and may be what I do for now in
>the knowledge that it should be fairly easy to produce a script to convert
>this messy folder structure into something more coherent in the future.
>
>> I guess the best way for you would be to create a ZClass. In it you
>> can define the properties that make up your content and you can
>> define the view- and edit-methods needed, even based on ZPT, but you
>> probably need to learn some more things first ;-)
>
>I'm stearing clear of ZClasses after getting my fingers slightly burnt and
>reading other posts regarding them. Even if that weren't the case, I can't
>use custom products (be they zclass or python) in this project as I can't
>get them onto the zope instance I must use :-(.
>
>thanks again for your reply.
>
>tim
>
>
>_______________________________________________
>Zope maillist - Zope@zope.org
>http://lists.zope.org/mailman/listinfo/zope
>** No cross posts or HTML encoding! **
>(Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )