• Inhalt als PDF-Datei herunterladen
  • Optimierter Druck
Thema ohne neue Antworten

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 icon_smile.gif

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
first_item {
  stdWrap.data >
  stdWrap.value = mein Text
}
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 icon_smile.gif

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

  • Inhalt als PDF-Datei herunterladen
  • Optimierter Druck