TYPO3-Browser: static countries und mm Verknüpfung - wird gruppiert angezeigt statt als Einträge
| Autor | Nachricht |
|---|---|
|
Verfasst am: 14. 12. 2011 [18:37]
|
|
|
renate
Renate
Themenersteller
Dabei seit: 12.12.2011
Beiträge: 11
|
Hallo, ich habe eine Tabelle, der per mm Verknüpfung Länder aus static_countries zugewiesen sind. Die Länder will ich als Filter anzeigen um die dazugehörigen Einträge zu finden. Eigene ext. erstellt, Tabellen eingerichtet und verknüpft. im tca der Tabelle steht: PHP 'countries' => array (
'config' => array (
'type' => 'select',
'foreign_table' => 'static_countries',
"MM" => "tx_data_countries_mm",
)
)TYPOSCRIPT views.list.1{ select = tx_data.title, tx_data.countries filter { tx_data{ countries < plugin.tx_browser_pi1.displayList.master_templates.selectbox countries.wrap.item.display_without_any_hit = 1 } } } Nun bekomme ich aber statt einer Länderliste Einträge der Art "3(1)" angezeigt, wobei 3 die Anzahl der zugewiesenen Länder des Eintrags ist, das gleiche in der Listenansicht. Habe das tt_news sample probiert, da passt es, auch wenn ich einen Kategorie Filter reinschreibe. Aber ich finde keinen "wichtigen" Unterschied. Hat jemand eine Idee, was ich falsch mache? Würde mich über Hilfe freuen. Dann habe ich noch ein anderes Problem. Ich will die Länderauswahl per eines weiteren Filters auf Basis von static_territories einschränken. Diese Tabelle ist aber verschachtelt in der Art Subterrtorium -> Territorium, d.h. Deutschland hat einen parent eintrag zu Westeuropa, Westeuropa hat einen parent eintrag zu Europa. Europa soll im Filter zur Auswahl stehen. An welcher stelle kann ich nach einer passenden Syntax suchen? Ich meine gelesen zu haben, dass man eine Tabelle nicht auf sich selbst verweisen lassen kann. Eigentlich brauche ich die territorien in der Hauptabfrage nicht, sie dienen ausschließlich zum Begrenzen des Länderfilters (es soll auch keine Ergebnisliste zu einem Territorium angezeigt werden). Geht sowas grundsätzlich? Muss man vielleicht 2 Plugins auf die Seite setzen, das Suchergebnis des ersten als Filter im zweiten o.ä.? mfg Renate [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 14.12.2011 um 18:38.] |
|
Verfasst am: 17. 12. 2011 [13:02]
|
|
|
dirk
Dirk Wildt
Dabei seit: 27.09.2010
Beiträge: 599
|
Hallo Renate, Dein TypoScript: "renate" schrieb: TYPOSCRIPT views.list.1{ select = tx_data.title, tx_data.countries filter { tx_data{ countries < plugin.tx_browser_pi1.displayList.master_templates.selectbox countries.wrap.item.display_without_any_hit = 1 } } } Wenn mich nicht alles täuscht, machst Du gleich zwei Fehler: Im TypoScript gibts Du Tabelle und Feld an. Du hast konfiguriert: * filter.tx_data.countries tx_data.countries (Tabelle.Feld) gibt es aber gar nicht Außerdem handelt es sich bei tx_data_countries um die MM-Tabelle. Du willst doch aber sicherlich im Filter keine Werte aus der MM-Tabelle angezeigt bekommen, sondern aus der Fremdtabelle. Der Code müsste also lauten: TYPOSCRIPT views.list.1{ select = tx_data.title, tx_data.countries filter { static_countries { title < plugin.tx_browser_pi1.displayList.master_templates.selectbox countries.wrap.item.display_without_any_hit = 1 } } } Also: filter.static_countries.title Vorsicht: Ich weiß nicht, ob es das Feld title gibt (könnte ja auch name heißen). Guck Dir die Tabelle static_countries also vorher an. Hat Dir die Antwort geholfen? Viele Grüße Dirk --
Willst Du den TYPO3-Browser mit einer Spende unterstützen? Wir freuen uns über jeden EUR! Sponsoring: Ich will einfach einen Betrag spenden http://typo3-browser.de/sponsoring |
|
Verfasst am: 19. 12. 2011 [13:56]
|
|
|
renate
Renate
Themenersteller
Dabei seit: 12.12.2011
Beiträge: 11
|
Hallo, "dirk" schrieb: tx_data.countries (Tabelle.Feld) gibt es aber gar nicht Doch, tx_data.countries gibt es tatsächlich (Tabelle mit Kickstarter erstellt), aber da wird nur die Anzahl der Verknüpfungen drin gespeichert, deshalb das "3(1) ". Die MM-Tabelle heißt tx_data_countries_mm Jetzt habe ich: TYPOSCRIPT autoconfig.relations = 0 views.list.1{ select = static_countries.cn_short_en, static_countries.uid, tx_data.title relations { mm.tx_data.tx_data_countries_mm = static_countries } filter { static_countries { cn_short_en < plugin.tx_browser_pi1.displayList.master_templates.selectbox cn_short_en { // Zeile erzeugt leeren Eintrag first_item.stdWrap.data = Land // Original, erzeugt <option value="Afghanistan">Afghanistan (1)</option> wrap.item = <option###CLASS######STYLE### value="###UID###"###ITEM_SELECTED###>|</option> // meine Änderung, erzeugt <option value="">Afghanistan (1)</option> wrap.item = <option###CLASS######STYLE### value="###STATIC_COUNTRIES.UID###"###ITEM_SELECTED###>|</option> wrap.item.display_without_any_hit = 1 } } } } Mit den static_countries als erstes select Feld und der Relation geht es grundsätzlich erstmal. Was ich gerne geändert hätte, ist der Wert in der Selectbox. Wie muss das richtig aussehen und warum steht bei value das Land drin? Ich hätte schon gerne static_countries.uid im value. Oder ist das egal, hauptsache es geht? Dann habe ich in der Adresse nochmal ein Land stehen, wie kann ich das ohne Kuddelmuddel abfragen? Wie das mit dem Alias geht ist mir unklar. Im TS von browser_civserv kommt das Wort an unterschiedlichsten Stellen vor, aber ich finde keine passenden Stellen in der Doku. Geht ein Alias nur, wenn man das ganze Query selbst baut? Brauche ich deal_as_table? Was ist mit override.select, from, ... - muss da browser-TS syntax rein oder sql? Ich habe auch keine Ahnung, warum ich dem first_item keinen Wert zuweisen kann. Der Templatebrowser zeigt keinen TS Fehler an. Woran kann das noch liegen? Wie kann ich den Eintrag "alle" nach erfolgter Auswahl entfernen (d.h. es soll nicht möglich sein, eine Liste ohne Länderauswahl anzuzeigen)? |
|
Verfasst am: 20. 12. 2011 [09:35]
|
|
|
renate
Renate
Themenersteller
Dabei seit: 12.12.2011
Beiträge: 11
|
So, zumind. die Sache mit dem first_item bzw. den Labels generell, hat sich geklärt. Man muss data löschen und value verwenden: TYPOSCRIPT
|
|
Verfasst am: 09. 01. 2012 [12:42]
|
|
|
renate
Renate
Themenersteller
Dabei seit: 12.12.2011
Beiträge: 11
|
Hallo, Weihnachten und Neujahr sind vorbei, vielleicht hat ja jetzt jemand Zeit zum Antworten Wie bekomme ich static_countries.uid ins value von cn_short_en? wie kann ich mehrere Verknüpfungen zu derselben Fremdtabelle realisieren? Was genau brauche ich, um einen Tabellen alias zu verwenden? Im TS von browser_civserv kommt alias an unterschiedlichsten Stellen vor, aber ich finde keine passenden Stellen in der Doku. Geht ein Alias nur, wenn man das ganze Query selbst baut? Brauche ich deal_as_table? Was ist mit override.select, from, ... - muss da browser-TS syntax rein oder sql? mfg Renate |
|
Verfasst am: 10. 02. 2012 [01:09]
|
|
|
dirk
Dirk Wildt
Dabei seit: 27.09.2010
Beiträge: 599
|
Hallo Renate, siehe meine Antworten im Zitat. Viele Grüße Dirk "renate" schrieb: Wie bekomme ich static_countries.uid ins value von cn_short_en? Das sollte automatisch gehen. ###UID### kannst Du jedenfalls nicht gegen einen anderen Marker wechseln. Ich habe mal eine Installation von uns geprüft bei der mit static_countries gearbeitet wird. Im value steht die uid. "renate" schrieb: wie kann ich mehrere Verknüpfungen zu derselben Fremdtabelle realisieren? Nur mit einer manuellen Konfiguration der Relationen. Ich kann Dir aber nicht sagen, bei bis zu wievielen Relationen dies funktioniert. Meiner Erinnerung habe ich das mal erfolgreich für zwei Verbidnungen konfiguriert. Die manuelle Konfiguration ist aber nicht besonders vorbildlich dokumentiert. Wenn es irgendwie gehen sollte, verzichte darauf. "renate" schrieb: Was genau brauche ich, um einen Tabellen alias zu verwenden? Im TS von browser_civserv kommt alias an unterschiedlichsten Stellen vor, aber ich finde keine passenden Stellen in der Doku. Geht ein Alias nur, wenn man das ganze Query selbst baut? Brauche ich deal_as_table? Ich würde auch in browser_civserv nachsehen, wenn ich Deine Anforderungen hätte. Das ist das Beste was Du tun kannst. Abgesehen von meiner Warnung oben kann ich dann nur empfehlen, das Prinzip try and error zu versuchen. "renate" schrieb: Was ist mit override.select, from, ... - muss da browser-TS syntax rein oder sql? Grundsätzlich immer Browser TS-Syntax. --
Willst Du den TYPO3-Browser mit einer Spende unterstützen? Wir freuen uns über jeden EUR! Sponsoring: Ich will einfach einen Betrag spenden http://typo3-browser.de/sponsoring |
Powered by TYPO3 und mm_forum Extension


