Zum Inhalt springen

Sortierreihenfolge in tt_address mit neuem Tabellenfeld

Erstellt am 6. Oktober 2009 · 3 Antworten · letzte Antwort am 6. Oktober 2009

Tags: TCA, tt_address, Frage

gbs-amok ·

Hallo,

ich habe der Tabelle tt_address mittels phpMyAdmin eine neue Spalte namens "test" hinzugefügt. Mittels dieser Spalte würde ich gerne die Sortierreihenfolge vorgeben.

Die Sortierung definiere ich im Template der Seite unter TypoScript folgendermaßen:

plugin.tx_ttaddress_pi1.sortByColumn = test

Leider funktioniert das aber nicht.

Ich kann nach jeder anderen Spalte auf diese Weise sortieren, also z. B.

plugin.tx_ttaddress_pi1.sortByColumn = address

sortiert die Liste sauber nach Straßennamen. Aber die Sortierung nach meinem selbst angelegten Feld "test" funktioniert nicht.

Wo liegt hier der Hund begraben?

Vielen Dank schon mal für die Hilfe!

Josef

einpraegsam.​net ·
gbs-amok schrieb

Wo liegt hier der Hund begraben?

Du musst das neue Feld schon im TCA definieren. Falls du jetzt nur Bahnhof verstehst, empfiehlt sich dieses Vorgehen:
1. Feld über phpMyAdmin wieder löschen
2. Über den kickstarter eine neue Extension anlegen, die tt_address um ein neues Feld erweitert

Somit hast du auch gleich eine saubere Änderung...

gbs-amok ·

Vielen Dank für die Info.

Ich hab dein Vorgehen jetzt mal umgesetzt.

Feld über phpMyAdmin gelöscht und nach folgender Anleitung mit Kickstarter eine neue Extension angelegt.

http://www.typo3forum.net/forum/typo3-4-x-backend/21365-tt_address-neues-feld-ugriffsrecht-nur-f-r-admin-hinzuf-gen.html

Soweit hat das auch funktioniert. Das Feld wurde in der Tabelle tt_address angelegt und im BE kann ich nun auch einen Wert in das Feld eintragen.

Als Extension-Key habe ich "tt_address_sort" eingegeben, das Feld hat wieder den Namen "test" bekommen. phpMyAdmin zeigt aber an, dass das hinzugekommene Feld den Namen "tx_ttaddresssort_test" trägt.

Wenn ich nun wieder unter TypoScript folgendes eintrage

plugin.tx_ttaddress_pi1.sortByColumn = tx_ttaddresssort_test

geht trotzdem nichts. Es wird einfach defaultmäßig nach "name" sortiert. Auch

plugin.tx_ttaddress_pi1.sortByColumn = test

bringt mich nicht weiter. Nach allen anderen Feldern wie "phone", "middle_name", etc. kann ich schon sortieren, nur wieder nicht anhand des neu angelegten Feldes.

Wo muss ich da noch feilen?

Du musst das neue Feld schon im TCA definieren.

Kannst du mir bitte kurz erklären, was du damit meinst?

Vielen Dank schon mal.

Josef

gbs-amok ·

Ich habe mittlerweile ein wenig geforscht, was TCA ist und folgendes bei mir gefunden:

tt_address]
[ctrl]
[interface]
[feInterface]
[columns]
  [hidden]
  [gender]
  [name]
  [first_name]
  [middle_name]
  [last_name]
  [birthday]
  [title]
  [address]
  [building]
  [room]
  [phone]
  [fax]
  [mobile]
  [www]
  [email]
  [company]
  [city]
  [zip]
  [region]
  [country]
  [image]
  [description]
  [addressgroup]
  [tx_ttaddresssort_ausschuss]
    [exclude]=0
    [label]=LLL:EXT:tt_address_sort/locallang_db.xml:tt_address.tx_ttaddresssort_test
    [config]

Ich kenn mich zwar wenig aus, aber ich würde sagen, dass die Spalte "tx_ttaddresssort_test" im TCA bekannt ist. Trotzdem kann ich nicht danach sortieren lassen.

Muss ich evtl. noch eine Datei anpassen?

Bitte um Hilfe!!

Vielen Dank!!