[Zope-dev] ZPatterns + Skinscript
Joachim Schmitz
js@aixtraware.de
Sun, 29 Oct 2000 10:25:57 +0100 (CET)
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