EDIT: Wie unten erwähnt habe ich einen anderen Ansatz verfolgt, das Ergebnis gibts hier: http://www.contenido.org/forum/viewtopic.php?p=97023
Hallo zusammen,
ich sitze jetzt seit fast zwei Tagen an einem Modul und komme nicht wirklich weiter.
Es geht darum, etwas in der Art zu realisieren:
http://www.konzerthaus-dortmund.de/language=de/3809
Also eine Tabelle, pro Zeile Bild | Beschreibung | Bild | Beschreibung u.s.w.
und das ganze über mehrere Zeilen. Im Gegensatz zum obigen Beispiel benötige ich allerdings noch Unterkategorien.
Backendseitig stelle ich mir das folgendermaßen vor:
- Die erste Zeile ist sichtbar (th mit colspan=$rows)
- Ist hier etwas eingegeben, erscheint nach dem Speichern der erst Block in der neuen Zeile: IMGEDIT | HEAD HTML
und eine neue Zeile th
- Wenn im Block etwas eingegeben wird (bei HEAD) erscheint nach dem speichern ein weiterer Block, wird im neuen th etwas eingegeben, erscheint wieder ein neuer Block in neuer Zeile und ein neuer th.
Ich hoffe das war einigermaßen verständlich bis hierhin.
Das Problem bei der ganzen Sache:
Nicht ohne weiteres inkrementierbare CMS-Inhaltstypen. Ich habs schon mit der Cache-Engine probiert, allerdings sind solche Konstrukte:
echo "<".'?php echo "CMS_IMG['.$i.$j.']"; ?'.">";
recht fehleranfällig, langsam und tun irgendwie nicht das was sie sollen. Zudem kann man nicht vernünftig abfragen, ob dort etwas drinsteht oder nicht.
Der letzte Ausweg wäre sicherlich, am Anfang eine Lookup-Tabelle für die Inhaltstypen zu erstellen, so dass $cms1 ein Array mit (CMS_IMG[1], CMS_HTML[1], usw.) zurückgibt. Wie gesagt, letzter Ausweg.
Vorher wollte ich mal nachfragen, ob jemand einen ähnlichen Anwendungsfall schonmal hatte oder ich mich einfach in meine Vorgehensweise verrannt habe und es eine einfachere Lösung dafür gibt.
Für eure Tipps und Hinweise vielen Dank!
Grüße
_Marc
[gelöst] sich erweiternde Tabelle - Mitarbeiterauflistung
[gelöst] sich erweiternde Tabelle - Mitarbeiterauflistung
Zuletzt geändert von _Marc am Mi 28. Feb 2007, 14:08, insgesamt 1-mal geändert.
CMS_-Typen sind nicht inkrementierbar.
Meine Empfehlung: Daten in einer extra Tabelle speichern, dafür Klasse auf Basis der ItemCollection (siehe Klassen im classes Verzeichnis) erzeugen und im Mandanten-Verzeichnis speichern.
Haken: Daten sind nicht mit der Suche findbar.
Bitte zunächst selbst mal gucken, wenn Du nicht weiterkommst, posten.
Gruß
HerrB
Meine Empfehlung: Daten in einer extra Tabelle speichern, dafür Klasse auf Basis der ItemCollection (siehe Klassen im classes Verzeichnis) erzeugen und im Mandanten-Verzeichnis speichern.
Haken: Daten sind nicht mit der Suche findbar.
Bitte zunächst selbst mal gucken, wenn Du nicht weiterkommst, posten.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo HerrB,
danke für Deine Antwort. Das mit der extra Tabelle hatte ich auch überlegt und es ist sicher das sinnvollste grade in dem Sinne, dass, wenn ein Mitarbeiter geht oder sich die "Hierarchie" ändert, man die Personen leicht umstellen oder löschen kann.
Auf der anderen Seite halte ich den Aufwand für nicht gerechtfertigt (Im Moment tut es eine Auflistung, die mit dem tinyMCE erstellt wurte, nur sollen jetzt noch Bilder kommen und weil die Redakteurin nicht mit der Tabellenfunktion klarkommt, soll ich ihr dafür ein Modul schreiben) und bin nochmal verschiedene Ansätze durchgegangen.
Ich werde mal die nächsten zwei Stunden folgenden Ansatz verfolgen, in der Theorie funktioniert er im Moment ganz gut:
In der Konfiguration gibt man zunächst die Anzahl der Gruppen (=Abteilungen) an, nach dem Speichern erscheint korrespondierend zu jeder Gruppe ein Feld für Gruppenüberschrift und Personenzahl (CMS_VALUEs lassen sich inkrementieren, soweit ich recherchiert habe).
In der Ausgabe steht am Anfang ein Array, was einen Pool von CMS_-Typen bereithält, die oben erwähnte Lookup-Tabelle.
Da die Anzahl von Zeilen und Spalten durch die Konfiguration fest definiert ist, braucht man keine Abfragen und kann durch einfache Schleifen das Grundgerüst erstellen lassen. Wenn sich etwas verändert, muss der Inhalt eben an eine andere Position geschrieben werden, das ist ein Manko, aber nicht zu ändern.
Ich fang jetzt mal an, wenn Interesse besteht, poste ich das Modul nach Fertigstellung natürlich.
Viele Grüße
_Marc
danke für Deine Antwort. Das mit der extra Tabelle hatte ich auch überlegt und es ist sicher das sinnvollste grade in dem Sinne, dass, wenn ein Mitarbeiter geht oder sich die "Hierarchie" ändert, man die Personen leicht umstellen oder löschen kann.
Auf der anderen Seite halte ich den Aufwand für nicht gerechtfertigt (Im Moment tut es eine Auflistung, die mit dem tinyMCE erstellt wurte, nur sollen jetzt noch Bilder kommen und weil die Redakteurin nicht mit der Tabellenfunktion klarkommt, soll ich ihr dafür ein Modul schreiben) und bin nochmal verschiedene Ansätze durchgegangen.
Ich werde mal die nächsten zwei Stunden folgenden Ansatz verfolgen, in der Theorie funktioniert er im Moment ganz gut:
In der Konfiguration gibt man zunächst die Anzahl der Gruppen (=Abteilungen) an, nach dem Speichern erscheint korrespondierend zu jeder Gruppe ein Feld für Gruppenüberschrift und Personenzahl (CMS_VALUEs lassen sich inkrementieren, soweit ich recherchiert habe).
In der Ausgabe steht am Anfang ein Array, was einen Pool von CMS_-Typen bereithält, die oben erwähnte Lookup-Tabelle.
Da die Anzahl von Zeilen und Spalten durch die Konfiguration fest definiert ist, braucht man keine Abfragen und kann durch einfache Schleifen das Grundgerüst erstellen lassen. Wenn sich etwas verändert, muss der Inhalt eben an eine andere Position geschrieben werden, das ist ein Manko, aber nicht zu ändern.
Ich fang jetzt mal an, wenn Interesse besteht, poste ich das Modul nach Fertigstellung natürlich.
Viele Grüße
_Marc