[ I reply both to the author and Zope list, feel free to answer to the list only ]
1) How can I set standard DTML Document properties (title!) from my constructor? I created constructor form and constructor method, I succesfully prompt for and set all my properties but I do not know how to set properties belonging to DTML Document. Your ZClass inherits the methods of its base classes. You use the base classes methods to access their features.
In your specific case, you would use "manage_changeProperties" to change the DTML Document properties. "manage_changeProperties" is defined by "OFS.PropertyManager.PropertyManager".
What exactly should I write? Currently my constructor method contains the following (mk_dtml_document is my custom class which subclasses DTML Document, Extra is the name of my custom propertysheet): <dtml-with "mk_dtml_document.createInObjectManager(REQUEST['id'], REQUEST)"> <dtml-call "propertysheets.Extra.manage_editProperties(REQUEST)"> <dtml-comment> How can I change original title? </dtml-comment> <dtml-call reindex_object> </dtml-with> On which object (which property sheet) should I call manage_editProperties to change document title?
2) Can I do anything to have single property screen which would behave as original DTML Document property screen but present both original properties and properties belonging to my custom property sheet? You can create your own ZClass "view" that does this.
So it is impossible to use original DTML Document property screen? I like it.
4) Can I do something to have ZCatalog PrincipiaSearch (i.e. full text search) to scan some property of my custom ZClass (say property body from propertysheet Basic)? You just define "Meta Data" or indexes for them.
Not exactly. I would like to have bodies of my DTML Documents and my custom class (which does not subclass DTML Document) .body property contents to be indexed with _the same_ full text index. I tried defining method PrincipiaSearchSource in my custom class but it did not helped (ZCatalog did not indexed my objects in PrincipiaSearch index - according to its status screen).
5) Can I write index_html method of my custom class so it interpret DTML tags (like dtml-var substitution)? I do not understand this question:
"index_html" has nothing to do with interpreting DTML tags.
Yes I know. In fact I ask 'what can I do to parse DTML in a method of object which does not subclass DTML Document?'
When you want to interpret DTML tags, you will need to somehow use DocumentTemplate instances.
And that 'somehow' is what I am asking for.
And one question after the whole mess. I migrated my (fairly small so far) website from DTML Documents to my custom document class - and I did it manually. But I would not like to perform similar operation manually if the site contained 500 or 5000 pages. You will find in the list's archive a suggestion for converting DTML documents into DTML methods. It could be adapted for your purpose.
The archives are not searchable :-( I will try downloading them but if anyone has this article handy, I'd be grateful. Regards -- Serwis nie tylko mieszkaniowy: http://www.mk.w.pl | | Osoba jest omegalizacją ewolucji uniwersalnej na określonym odcinku | etapowym (Teilhard de Chardin) |