From:Markus Uhl
Date:25.7.01 17:17
Subject:Suche: etwas ähnliches wie "FOREACH FOUND"...
Reply-To:<imperia-users@imperia.de>
Hallöli beisammen,

also irgendwie treffe ich heute mal wieder nur auf Rätsel. Scheint kein
guter Mittwoch zu sein... ;o)

Jedenfalls habe ich ein Problem, das ich bisher nur recht umständlich
lösen kann.

Szenario ist wie schon in meinem Posting zu den zwei Wordmodulen
folgendes:
Ich habe ein Template für ein Referenzobjekt des Kunden. Dieses Ding hat
einen Namen, einen Architekten, mehrere Bilder (mind. 1, max.
unbegrenzt; das ganze per Imperia-Block), einen Begleittext sowie
beliebig viele Produkte (ebenfalls per Imperia-Block), die bei diesem
Objekt verbaut wurden. Jedes Produkt besteht aus einem Namen, einem Bild
und einem kleinen Beschreibungstext.

Jetzt muß aus Platzgründen (Seite wird teilweise inakzeptabel lang) der
Inhalt aufgeteilt werden. Und zwar sollen der Name, der Architekt und
die Beschreibung des Objekts sowie die dazugehörigen Bilder auf eine
Seite und die ganzen dort verbauten Produkte als Auflistung auf eine
andere Seite.

Wie gesagt habe ich ein großes Template, in dem alles eingegeben werden
soll, weil ich ansonsten ja auch Zuordnungsprobleme zwischen den
Objekten und Produkten bekomme. Diese alles enthaltende Datei wird unter
"content.html" abgespeichert und die beiden Einzelseiten werden per copy
und FORCE-PUBLISH unter Angabe des jeweiligen Templates erzeugt.

Mein "Problem" ist nun die variable Anzahl der Objektbilder und
Produkte. Derzeit frage ich einfach stupide ab:

#IF ("<--XX-prodname1-->)
HTML-Code zur Ausgabe von Produkt 1
#ENDIF

#IF ("<--XX-prodname2-->)
HTML-Code zur Ausgabe von Produkt 2
#ENDIF

usw.

Natürlich ist das doof, weil's erstens ein Riesen-Template wird (der
HTML-Code zur Ausgabe besteht aus 18 Zeilen) und ich zweitens hier mehr
oder weniger die maximale Anzahl der möglichen Produkte festlege - im
Beispiel oben würde Produkt3 einfach ignoriert werden. Aber
hauptsächlich stört mich die Unübersichtlichkeit des Templates - es ist
einfach unelegant.

Eleganter wäre es, wenn ich das Ganze irgendwie in einer Art Schleife
abarbeiten könnte. Aber wie? Hatte schon die Idee, einfach für jedes
Produkt eine eigene Seite erzeugen zu lassen und die Übersicht dann per
Site Active und FOREACH FOUND zusammenzubauen, aber dann habe ich ja
wieder ein Zuordnungsproblem zwischen Objekt und Produkten. Habe noch
nicht weitergedacht, aber wahrscheinlich müsste ich dann ja auch pro
Objekt eine eigene Rubrik einführen, damit ich "darunter" die
zugehörigen Produkte anlegen kann. Und da ich vorher die Objekte nicht
kenne, müsste die Anpassung der Rubriken auch noch automatisch beim
Anlegen eines neuen Objekts passieren - brrr....

Hatte nun auch noch die Idee, zwar nur ein einzelnes Template zu haben,
aber innerhalb des Imperia-Blocks jedes eingegebene Produkt per

<input type="hidden" name="copy$$blockid"
value="<!--XX-directory-->/produkte/$$blockid.html:TEMPLATE=415">
<!--FORCE-PUBLISH:<!--XX-directory-->/produkte/$$blockid.html:TEMPLATE=415-->

in eine eigene Datei zu schreiben - aber das funktioniert natürlich auch
nicht, weil ich in dem Template ja wieder filtern müsste, welches der
Produkte ich überhaupt in der Datei haben will. Ich bräuchte dann also
wieder für jede Produktnummer ein eigenes Template, das nur eine einzige
Produktnummer "durchlässt"...

Wie ich's auch drehe und wende, ich komme momentan auf keine bessere
Lösung als meine umständlichen #IF-Orgien.

Daher die Frage: hat jemand eine Idee? Oder vielleicht sogar selber
schon mal so ein Problem umschifft?

Idee: kann ich im copy-Befehl vielleicht noch einen Parameter übergeben?
Dann könnte ich da einfach die jeweilige $$blockid noch mit an das
Template übergeben, dort eben z.B. die Variable
<!--XX-prodname$$blockid--> verwenden und damit sicherstellen, daß ich
mit einem Template alle Produkte durchlaufen kann - weil ja immer nur
eine Produktnummer übergeben wird. Wenn sowas geht: gibt's da ein
Beispiel? Außerdem wäre das doch gleich was für's neue Handbuch... ;o)
Generell wäre es da vielleicht nicht schlecht, einen Abschnitt
aufzunehmen, wo beschrieben ist, wo man überall so zusätzliche Parameter
übergeben kann, wo nicht, worauf man dabei achten sollte (Benennenung
etc.) und so weiter. Ich fürchte nämlich, daß ich aus Unwissenheit schon
ein paar Sachen umständlicher gelöst habe als ein Profi das machen
würde, der diese Möglichkeiten zur Parameterübergabe in- und auswendig
kennt...

In diesem Sinne - ich geb's für heute jedenfalls auf.
Markus

________________________________________________________              

consultant                                     
web projects                   http://webprojects.ecrc.de
cable & wireless               http://www.cw.com/de     

landsberger str.155            fon: +49 (0)89 926 99-390    
80687 muenchen                 fax: +49 (0)89 926 99-810
                               mob: +49 (0)171 98 92 836
__________________________________________________________


Thread (Suche: etwas ähnliches wie "FOREACH FOUND"...)

© 2001, 2002 marchive.pl Christian Lackas

[HOME]   [MARCHIVE]   [INDEX]   [IMPERIA]   [IMPRESSUM]   [DELTA]