McSodbrenner wrote:
zu 1.:
Mal angenommen, es gibt einen Pool von 400 Visuals
Was darf ich unter Visuals verstehen?
Meinst Du eine Art Sammlung von Grafiken, die dann via Stylesheets eingebunden werden sollen?
McSodbrenner wrote:
(die wurden vom User alle über die "Bildverwaltung" hochgeladen und haben alle das gleiche Format). Jetzt soll der User die Möglichkeit haben, jeder Seite, die er bearbeitet, ein Visual zuzuordnen.
Da der User ja die Visuals selbst hochladen kann, fällt die Möglichkeit, 400 Templates vorzudefinieren, schonmal weg (zum Glück

).
Was ich suche, ist also so etwas wie eine Erweiterung des {content}-Tags, z.B. einen Parameter "file". Wenn dieser im Template auf einen Pfad (z.B. den Visuals-Ordner) gesetzt wurde, soll der User im Backend z.B. eine Select-Box kriegen mit allen Bildern aus dem Visuals-Ordner.
Also ich habe mal den Inhaltstyp "Content" so umgeschrieben, dass er zusätzlich ein Dropdown-Menü mit einer Liste von Bildern aus einem bestimmten Verzeichnis anzeigt. (Also den PHP-Code) Beim speichern wurde dann neben dem Inhalt auch der Name des Bildes in die Datenbank geschrieben. (Ebenfalls indiziert mit der jeweiligen content_id)
Diese Bilder habe ich dann mit Hilfe eines eigenen Moduls im Inhaltsbereich anzeigen lassen.
Siehe
http://www.rae-km.de.
Die Bilder auf der Startseite gehören alle zu den jeweiligen Inhalten unter "Rechtsgebiete".
Im Inhalt der Seite wird nur mein Modul aufgerufen, dass dann diese Bilder mit der jeweiligen Seite verlinkt.
Genauso gut könnte man sich im Backend anstelle der Bilder auch eine Liste mit verfügbaren Verzeichnissen anzeigen lassen. Und diese dann zusätzlich speichern. (Ebenfalls indiziert mit der jeweiligen content_id)
D.h. jedes "Visual" bekommt einen eigenen Ordner mit allen nötigen Daten. (Ich schätze mal Grafiken)
Was Du jetzt brauchst, wäre eine Art Plugin oder ein Modul, dass diese Ordner ausliest und als Templatevariable bereitstellt.
Somit gehört jeder Seite sozusagen ein eigener "Grafikordner" auf den Du im Template mit einer Variable zugreifen kannst.
Das eigentliche Problem sehe ich jetzt darin, wie man dem Stylesheet sagt, in welchem Ordner nach den Grafiken zu suchen ist.
Ich gehe jetzt einfach mal davon aus, dass es lediglich
ein Template gibt, bei dem sich nur, naja, der visuelle Stil ändert. Da dazu allerdings auch einfach nur Farben, Hintergrundfarben, Schriftarten, -farben, -größe etc. gehören können, müsste evtl. sowieso ein komplettes neues Stylesheet her. Wenn Du dem User dieses Stylesheet als Gerüst schon vorgibst und bestimmst, dass Verweise zu Grafiken einfach nur z.B.
background-image: url(name der grafik); lauten, wäre das Problem mit dem Zuordnen der Grafikordner zu einem Stylsheet schonmal gelöst. Ist allerdings viel Handarbeit vom User nötig. Es gibt dann eben 400 Stylesheets, die allesamt gleich sind und sich nur bei Farben, Grafiken etc. unterscheiden.
Die Stylesheets könnte man dann im Template einfach mit Hilfe von einbinden.
Der Name der CSS-Datei muss dann für jedes Visual halt immer gleich sein.
Ich hoffe Du kannst mir folgen.
McSodbrenner wrote:
1.2
Können denn überhaupt andere Typen als nur textareas im Backend angezeigt werden? Z.B. Checkboxen, Radiogroups usw.?
Selbstverständlich. Allerdings nicht so einfach mit Hilfe eines Parameters im Template. Dazu müsste man, wie schon gesagt, einen eigenen Inhaltstyp schreiben.
McSodbrenner wrote:
zu 2.:
Das heißt, der User würde die Zuordnung nicht bei der Content-Pflege machen, sondern bei dem jeweiligen Modul? Und dort könnte er dann eine Seite aus einer Select-Box aussuchen, der dann der jeweilige Teaser zugeordnet wird?
Nein, so hatte ich das nicht gemeint. Ich bin anfangs eben von 400 Templates ausgegangen...

Die Module können auch einfach im Inhalt aufgerufen werden.
Man kann im Backend unter Globale Einstellungen für neue Seiten eine Art Standardinhalt festlegen. Wenn Du da einfach den Modul-Aufruf reinschreibst, bräuchte man bei der Inhaltspflege nur die Parameter des News-Moduls ändern.
Falls Du Dich für die Idee eines eigenen Inhaltstypen entscheiden solltest, könnt man das auch nur für diesen Inhaltstyp festlegen.