Hallo,
ich habe in der Backend-Extension (partner) eine Selectbox für Länder und eine für Sprachen.
Ich möchte jeweils nur Deutschland (Deutsch) , Italien (italienisch) und Frankreich (Französisch) anzeigen lassen.
Wenn ich in der Tabelle tx_staticinfotables_hotlist Einträge mache für die Tabellen static_languages und static_countries, dann wird die Einschränkung auf die Tabelle nicht übernommen, d.h. wenn ich uid_local 1 für Sprache und 34 für Land eingebe, dann werden jeweils die Länder und die Sprachen mit der ID 1 u n d 34 angezeigt, was natürlich Schwachsinn ergibt.
Wie kann ich erreichen, daß die Einschränkung auf die Tabellen Wirkung zeigt?
Gruß, Regina
Hi,
ich habe mit jetzt selbst geholfen, indem ich in der Extension static_info_tables in der Datei class.tx_staticinfotables_div.php und dort in der Funktion
selectItemsTCA eine Anpassung gemacht habe.
Diese Funktion wird aufgerufen in der TCA der Extension partner für die column "country" als itemsProcFunc.
Es gibt hier auch die Möglichkeit, dieser Funktion Parameter mit zu übergeben, wie z.B. table ='static_country'.
Hier ist auch definiert HotlistOnly, d.h., daß nur die Länder oder Sprachen aus der Tabelle tx_staticinfotables_hotlist in der Selectbox angezeigt werden sollen.
In der Funktion selectItemsTCA wird der Select auf die Tabelle tx_staticinfotables_hotlist gebaut, und zwar ohne die Einschränkung auf die Spalte Tabelle.
Die habe ich hier einfach ergänzt:
statt
' AND tx_staticinfotables_hotlist.application ='.$GLOBALS['TYPO3_DB']->fullQuoteStr($app,'tx_staticinfotables_hotlist'),
steht nun
'AND tx_staticinfotables_hotlist.tablenames="'.$table.'" AND tx_staticinfotables_hotlist.application='.$GLOBALS['TYPO3_DB']->fullQuoteStr($app,'tx_staticinfotables_hotlist'),
da.
Und schon funktioniert es auch wenn auch nicht auf die eleganteste Methode.
Gruß, Regina