Für die Webseite wurde ein ZMS-Standard-Templateset in Hinblick auf einige wenige Besonderheiten überarbeitet. Die Haupt-Navigation liefert zwei Ebenen aus: die erste Ebene dient zum Navigieren zwischen Hauptrubriken, und die zweite Ebene ermöglicht die Navigation innerhalb des Zeitschriften-Archivs.
Die Archvierung aller Zeitschriften-Artikel erfolgt letztlich in einer MySQL-Datenbank. Die Kommunikation übernehmen die beiden zentralen Speziellen Objekte (ArchivItem für Zeitschriften-Artikel und BuchItem für Buchempfehlungen).

Spezielles Objekt ArchivItem

Für die Aktuelle Ausgabe und Archiv wurde ein Spezielles Objekt ArchivItem entwickelt. Die Unterscheidung der beiden Varianten erfolgt durch die Zuweisung des Dokument-Typs Archiv bzw. Aktuelle Ausgabe.

medSach3_pre_ger.jpg

Automatische Eingabe-Interface des Speziellen Objektes eines Artikels

medSach4_pre_ger.jpg

Die Abstracts des jeweiligen Beitrags lassen sich durch anklicken des Titels auf- bzw. zuklappen

Für Textsuche innerhalb des Archivs wurde das Objekt Rubrik-Suche von R. Wollthan, www.zooling.de eingesetzt und an das Seiten-Design angepasst.

medSach5_pre_ger.jpg

Such-Interface

Das Archiv Item Objekt wurde für die Suchergebnisse so überarbeitet: die Abstracts, die das gesuchte Wort enthalten, werden aufgeklappt dargestellt und die Trefferworte farblich hervorgehoben.

medSach6_pre_ger.jpg

Suchtreffer-Hervorhebungen

Mit Erscheinung einer neuen Ausgabe wird die vorherige in die Archiv-Rubrik kopiert und die Inhaltübersicht des Archivs wird aktualisiert. Dies geschieht mittels einer Schleife des ArchivItem-Objekts (Code-Ausschnitt folgt), die den Archiv-Inhalts mittels ZSQL-Methode Archiv_inhalt in eine MySQL Datenbank überträgt und dort schließlich archiviert.

<dtml-call "REQUEST.set('jahr',getParentNode().getTitlealt(REQUEST))">

<dtml-call "REQUEST.set('Param','Drop1')"><dtml-call Archiv_inhalt>
<dtml-call "REQUEST.set('Param','Create1')"><dtml-call Archiv_inhalt>

 <dtml-in "getNavElements(REQUEST,['ZMSCustom'])">
   <dtml-let oItem="_['sequence-item']">
     <dtml-if "oItem.getLevel()>2">

       <dtml-in "getChildNodes(REQUEST)">
        <dtml-let mItem="_['sequence-item']">
          <dtml-if "mItem.meta_type in ['ZMSCustom']">

           <dtml-let Id="id"
                     Autor="getObjProperty('Autor',REQUEST)"
                     Titel="getObjProperty('Titel',REQUEST)"
                     Link="oItem.getHref2IndexHtml(REQUEST)"
                     Seite="getObjProperty('Seite',REQUEST)">
                 <dtml-call "REQUEST.set('Param','Insert1')">
                 <dtml-call "Archiv_inhalt(Autor=Autor,
                                           Titel=Titel,
                                           Link=Link,
                                           Id=Id,
                                           Seite=Seite,
                                           jahr=jahr)">
           </dtml-let>
          </dtml-if>
         </dtml-let>
       </dtml-in>
     </dtml-if>
   </dtml-let>
 </dtml-in>
</dtml-if>

Code-Ausschnitt aus der Z SQL Methode Archiv_inhalt

<dtml-if "REQUEST.get('Param')=='Drop1'">
DROP Table IF EXISTS dmsv_archiv_<dtml-var jahr>
<dtml-elif "REQUEST.get('Param')=='Create1'">

CREATE TABLE IF NOT EXISTS dmsv_archiv_<dtml-var jahr>
(
ID_NR int(10),
Autor char(100),
Titel char(250),
Link char(250),
Id char(5),
Seite char(5),
Jahr char(5)
)

<dtml-elif "REQUEST.get('Param')=='Insert1'">

INSERT INTO dmsv_archiv_<dtml-var jahr> (Autor,Titel,Link,Id,Seite,Jahr)

VALUES(<dtml-sqlvar Autor type="string">,
       <dtml-sqlvar Titel type="string">,
       <dtml-sqlvar Link type="string">,
       <dtml-sqlvar Id type="string">,
       <dtml-sqlvar Seite type="string">,
       <dtml-sqlvar jahr type="string">)

</dtml-if>

Das Skript Archiv_inhalt wird durch den Aufruf der Inhalt-Seite mit einem definierten Parameter ausgeführt. Die Aktualisierungen der übrigen Inhalte wird durch den Webmaster mit der üblichen Redaktions-Umgebung durchgeführt.

Spezielles Objekt BuchItem

Für Rubrik die Bücher wurde ein Spezielles Objekt BuchItem entwickelt, das jeweils ein Buch mit den Bestell- und Inhaltsinformationen darstellt. Für Großansicht des Buches sorgt integriertes Bildobjekt, und durch Anklicken des Links Bestellung Online werden alle Buchdaten an das Bestellformular übergeben.

medSach1_pre_ger.jpg

Automatisches Eingabe-Interface für Buch-Empfehlungen

medSach2_pre_ger.jpg

Publizierte Ansicht der Buchempfehlung

Die Buch-Bestellungen, sowie Abo-Bestellungen werden in MySQL Datenbank gespeichert und dort über eine spezielle Software weiterbearbeitet.

Erstellt von: Alexander Matvijets , erstellt am:  27.06.2008 , zuletzt geändert: 10.05.2010