Folgende Panelstatements sind fŸr die Pageitems definiert. 22 Liste der Pageitems. Der Befehl wird durch das Suchenbutton der Palette ausgelšst und holt die IDs aller den Suchkriterien entsprechenden PageItems select ID, 0, 0 from PageItems where ID > ? and (upper(Name) like ? or Name is NULL) and (DomainID = ? or 0 = ?) and rownum < ? 23 Ein Datensatz der Liste Nach erfolgreicher Suche werden die einzelnen EintrŠge geladen. DafŸr wird jedesmal der folgende select ausgefŸhrt. select p.name, t.name, d.name, s.value, p.description, p.preview, p.left, p.top, p.right, p.bottom from PageItems p, PageItemTypes t, Domain d, RelatedTo s /* ''s'' sollte spŠter die Tabelle States sein! Vgl. auch Panelstatement 26. */ where t.ID = p.TypeID and d.ID = p.DomainID and s.ID = p.StateID and p.id = ? 24 Lade alle verfŸgbaren Mandanten, SIEHE AUCH 33 In der Palette UND im Dialog 'Metadaten' befindet sich jeweils ein Popup mit den Mandanten. Vor dem Popup ist ein kleines Editfeld, mi dem die Anfangsbuchstaben der Mandanten eingestellt werden. Zum Testen benutze ich die Tabelle domain als Basis. Die Anweisung wird zweimal mit der aktuellen BenutzerID verknŸpft. select distinct (d.id), d.name from domain d, userxdomain x where d.ID > 0 and (x.userid = ? or 0 = ?) and d.id = x.domainid' 25 Lade alle verfŸgbaren Typen Im Dialog 'Metadaten' kann der Typ einer Vorlage eingestellt werden. Dazu wird der folgende select verwendet. select id, name from pageitemtypes where ID > 0 26 Lade alle verfŸgbaren Stati Im Dialog 'Metadaten' kann der Status einer Vorlage eingestellt werden. Dazu wird der folgende select verwendet, der hier zu Testzwecken den Inhalt der Tabelle relatedTo liest. select id, value from relatedto where ID > 0 27 Hole die ID-Werte eines PageItems : TypeID, DomainID, StateID, PlaceholderID Wird der Dialog 'Metadaten' gešffnet und sind die oben beschriebenen PopupmenŸs gefŸllt, mŸssen die Werte der aktuellen Vorlage angezeigt werden. Diese Werte werden mit dem folgenden select erfragt : select TypeID, DomainID, StateID, PlaceholderID from PageItems where id = ? 28 €ndere die Metadaten einer Vorlage Beim Schliessen des Dialoges 'Metadaten' sollen die gemachten €nderungen natŸrlich auf die Datenbank zurŸckgeschrieben werden. Dazu wird das Panelstatement 28 ausgefŸhrt : update PageItems set name = ?, typeid = ?, domainid = ?, stateid = ?, placeholderID = ?, description = ? where id = ? 29 €ndere die Daten einer Vorlage Um den Inhalt einer Vorlage zu Šndern, wird der grŸne AufwŠrtspfeil gedrŸckt. Dabei wird die folgende Anweisung ausgefŸhrt: update PageItems set data = ?, preview = ?, left = ?, top = ?, right = ?, bottom = ? where id = ? 30 Lšsche eine Vorlage Das x-Button der Palette wurde gedrŸckt : delete from PageItems where id = ? 31 Lade die Daten einer Vorlage zum EinfŸgen ins Dokument Der grŸne AbwŠrtspfeil wurde gedrŸckt : select data from pageitems where id = ? 32 Lade die Mandantentypen in den Metadaten-Dialog Im Metadaten-Dialog befindet sich zur EinschrŠnkung der Mandaten noch ein Popup, in dem der Mandantentyp festgelegt werden kann. Zum FŸllen des MenŸs wird die Anweisung des Panelstatements 32 ausgefŸhrt : select 1, 'Saturn' from dual union select 2, 'Mediamarkt' from dual union select 3, 'Markplatz' from dual union select 4, 'Basar' from dual union select 5, 'Bauchladen' from dual 33 Lade einen Mandanten in das Suchpopup Wird eine Vorlage im Metadaten-Dialog gešffnet, wird nur der aktuellen Mandant in das Mandantenpopup geladen. Dazu wird der folgende Befehl ausgefŸhrt : select id, name from domain where id = ? 34 'Alle Actions fŸr Platzhalter mit PageItems Auf dem Metadaten-Dialog kann einer Vorlage ein Platzhalter zugewiesen werden. Dieser Platzhalter soll in seiner Build-Action eine Anweisung enthalten, mit der die wiederholenden Elemente angelegt werden kšnnen. Damit das einfach bedienbar ist, gibt es eine Liste vorbereiteter Actions. Bem.: Die Action-Tabelle enthŠlt das -bisher unbenutzte- Attribut TypeID. Ich mache die Action-Auswahl mal so, dass diese TypeID bei den fraglichen Aktionen = 6 ist (6 ist aich die RelatedTo-ID fŸr multi frame). select id, name from actions where typeid = 6 and (DomainID = ? or 0 = ?) 35 Alle Domains laden Um einen neuen Platzhalter zu definieren, muss die Domain fŸr den Platzhalter angegeben werden. Dazu befindet sich im Metadaten-Dialog ein Popup. Mit der folgenden Anweisung wird es gefŸllt: select distinct (d.id), d.name from domain d, userxdomain x where d.ID > 0 and (x.userid = ? or 0 = ?) and d.id = x.domainid' // Spreadable 56 Alle Vorlagen einer bestimmten Seitenklasse (linksseitig, mitte, rechtsseitig) laden select distinct (ID), Name from PageItems where ID > ? and (DomainID = ? OR DomainID = 0 OR ID = ?) and (SpreadID = ? OR SpreadID = 0 OR ID = ?) order by name 57 Lade ein Preview einer Vorlage zur Darstellung im Dialog select preview from PageItems where ID = ? // Pageitem-Skript 93 Lade die ScriptID des Pageitem-Skripts select scriptid from pageitems where id = ? 94 Lade den Namen des Pageitem-Skriptes select name from actions where id = ?