[Typo3-german] tca.php und Leerzeile in Select-Box

Stefan Geith typo3dev at geithware.de
Mon Aug 1 10:14:40 CEST 2005


Marc Willmann schrieb:
> Hallo Liste,
> 
> wie unschwer an der Uhrzeit zu erkennen ist, plagt mich die "senile
> Bettflucht" und ich bastel schon seit 3 Stunden an einer Extension rum.
> 
> "Nur" ein Schönheitsfehler - aber ich find ihn nicht: Im BE habe ich
> eine Select-Liste, die von der Funktionalität auch genau das macht, was
> sie soll. Das erste Listenelement ist aber immer das "leere Element",
> was mir nicht gefällt. Andere Select-Boxen haben das ja auch nicht.
> 
> Die entsprechenden Stellen der tca.php:
> 
>  "category" => Array (
> 	"exclude" => 1,
>         "label" => "LLL:EXT:my_ext/locallang_db.php:tx_myext_main.category",
>         "config" => Array (
>                  "type" => "select",



Ich nehme an, dass diese Zeilen deinen 'leeren' EIntrag am Anfang
der Select-Liste erzeugen; kommentiere diese 3 Zeilen doch mal aus ...

>                  "items" => Array (
> Array("LLL:EXT:my_ext/locallang_db.php:tx_myext_main.category.I.0", ""),
>                             ),


>                  "itemsProcFunc" => "tx_myext_tx_myext_main_category->main",
>                  "size" => 6,
>                  "minitems" => 0,
>                  "maxitems" => 10,
>         )
> ),
> 
> ---
> In der class.tx_myext_tx_myext_main_category.php:
> 
> function main(&$params,&$pObj)  {
>                 // Adding items from database!
>                 $res =
> $GLOBALS["TYPO3_DB"]->exec_SELECTquery("uid,category","tx_myext_categories","deleted=0
> AND hidden=0");
> 
>  while ($row =$GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
>     $params["items"][]=Array($pObj->sL($row["category"]), $row["uid"]);
>  }
> }
> 
> ---
> wird die Liste mit Items gefüllt. In der DB ist definitiv kein leerer
> Eintrag vorhanden (mehrmals überprüft), auch wenn ich die while-Schleife
> weglasse und manuell einen Eintrag hinzufüge, ist ein Leereintrag davor.
> 
> Und nun wirds richtig spannend:
> 
> Wenn ich in der tca.php den Eintrag
> 
> "items" => Array (
> Array("LLL:EXT:my_ext/locallang_db.php:tx_myext_main.category.I.0", ""),
> ),
> 
> lösche, dann ist in der Objekte-Box der Leereintrag verschwunden. Leider
>  zeigt die Selected-Box dann aber auch nicht mehr an, welche Einträge
> ich das letzte Mal ausgewählt hatte (in der Datenbank sind sie vorhanden).
> 
> Die TCA-Doku auf typo3.org habe ich jetzt zum dritten Mal durch
> (zumindest die Stellen über SELECT-Boxen).
> 
> Hat jemand eine Idee für mich?
> 
> 
> Marc
> _______________________________________________
> Typo3-german mailing list
> Typo3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
> 

-

Stefan Geith



More information about the TYPO3-german mailing list