Hallo Community,
folgendes Szenario:
FirstSpirit Server mit mehreren Projekten, davon unterschiedliche Auftritte, welche ein globales Masterprojekt für Medien, Templates und DB Einträge verwenden.
Das globale Masterprojekt enthält unter Anderem:
- ein Datenbankschema, in dem in einer Tabelle die IDs für die unterschiedlichen Projekte gepflegt werden. Diese IDs dienen in den angeschlossenen Projekten als Filter für DB Views
- ein weiteres Datenbankschema, in dem in einer Tabelle Metatags gepflegt werden. Die Metatag Tabelle besitzt zudem eine Spalte "Projekt", die angibt, für welches Projekt der Metatag Eintrag gültig ist
Die einzelnen "Satellitenprojekte"/Auftritte sollen nun die DB Einträge der Metatags verwenden, allerdings nur die Einträge, die für das jeweilige Projekt relevant sind.
Meine Probleme / Fragen:
- Optimalerweise lässt sich die Pflege der Metatags im Masterprojekt über eine n:m Beziehung abbilden. Problem ist allerdings, dass die beiden Tabellen in unterschiedlichen Schemen liegen, somit ist keine Fremdschlüsselbeziehung möglich. Korrekt?
- Alternativ habe ich deshalb im Metatag Formular eine COMBOBOX hinzugefügt, um das Projekt auszuwählen, für welches der Metatag Eintrag relevant ist. Die ID wird dann auf ein Textfeld gemappt und am Eintrag gespeichert. Anschließend sollen im jeweiligen Projekt nur die Datensätze angezeigt werden, welche für das Projekt relevant sind. Das funktioniert soweit ganz gut in der Datenquellen Verwaltung mit einem Filter.
Allerdings soll nun in der Metadaten Seitenvorlage eine CONTENTLIST für die Auswahl von Metatags eingebunden werden.
Hier habe ich nun das Problem, dass immer ALLE Datenasätze aus dem Remote Masterprojekt angezeigt werden. Es sollen aber nur die gültigen Metatags für das aktuelle Projekt zur Auswahl angezeigt werden.
Dies ist aktuell nur über das QUERY Element möglich. Allerdings muss ich hier "hartkodiert" die Projekt ID (im Beispiel 580) eintragen.
<CMS_INPUT_CONTENTLIST name="pt_metatags" allowEmpty="yes" allowNew="no" table="metatags.tt_metatags" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Meta Tags" description="Please choose Meta Tags"/>
<LANGINFO lang="DE" label="Schlagworte" description="Bitte Schlagworte auswählen"/>
</LANGINFOS>
<QUERY entityType="MetaTags">
<FILTERPARAM value="580" datatype="java.lang.String" parameter="website"/>
<EQ attribute="Website" parameter="website"/>
</QUERY>
</CMS_INPUT_CONTENTLIST>
Gibt es hierfür auch eine andere Möglichkeit / einen anderen Lösungsansatz? Mit diesem Ansatz müsste ich für jedes Projekt ein eigenes Metadatentemplate erstellen.
Verwendete FirstSpirit Version ist 4.2 R4.
Schon mal vorab vielen Dank und Gruß
Joachim