for debugging I inserted in Specialists.py in getItem: return str(self.rackList) <-- inserted for rack in self.rackList: item = rack.__of__(self).getItem(key) if item is not None: return item this alway returns an empty list, when calling it from the dtml: <dtml-var "getItem(_.int(609))"> returns "[]" I tried to follow the magic how this rackList is setup, but it is to much python-Zen for me. On Sun, 29 Oct 2000, Joachim Schmitz wrote:
On Sat, 28 Oct 2000, Phillip J. Eby wrote:
At 05:17 PM 10/28/00 +0200, Joachim Schmitz wrote:
select e.event_id as event_id ,e.zeiten as zeiten ,v.firma as firma ,v.tel as tel ,e.movie_id as movie_id ,m.movie_title as movie_title ,m.movie_link as movie_link ,m.movie_text as movie_text ,e.datum_von as datum_von ,e.datum_bis as datum_bis from event as e, veranstalter as v, movies as m where e.event_id = <dtml-sqlvar e_id type=int> and e.movie_id = m.movie_id and e.veran_id = v.veran_id order by m.movie_title
Just out of curiosity, why do you have an "order by" clause, if this is supposed to only return one row? If more than one item is returned by this query, only the first will be used to supply data to your DataSkin.
that was just left over from an reused query-template, I forgot to take it out.
I also added a SkinScript method as a Data Plug-in in the defaultRack like this
WITH QUERY readEvents(e_id=self.event_id) COMPUTE zeiten,firma,tel ,movie_id,movie_text,movie_link,movie_title ,datum_von,datum_bis,zeiten
Do you have some way of providing self with an "event_id" value? Keep in mind that when DataSkins are created, they have only an "id" attribute, nothing else. So unless you have an attribute provider that provides an "event_id" value, this statement will fail. Perhaps what you actually mean is:
WITH QUERY readEvents(e_id=self.id) COMPUTE event_id, zeiten,firma,tel, movie_id,movie_text,movie_link,movie_title, datum_von,datum_bis,zeiten
Notice that I'm passing self.id to readEvents, and that I've added event_id to the list of attributes retrieved from the query.
how do I set "self.id" I tried in dtml-method in the event-specialist: There is a event_id 609 in the table:
<dtml-var "getItem(_.int(609))"> returns none or <dtml-var "getItem(key=_.int(609))"> returns none
under the storage tab I selected for:
Class to use for stored items: ZPatterns:DataSkin and
Objects are: o stored persistently. x loaded by accessing attribute: event_id
This will work fine, if you use the revised SkinScript above. You will probably want to create a ZClass subclass of DataSkin at some point to use instead, so that you can define permissions, methods, and so on for your Event objects.
Mit freundlichen Grüßen
Joachim Schmitz
AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163