Ergebnis 1 bis 5 von 5

Thema: Extbase/Fluid: TCA Daten an Controller übergeben für form.select?

      
  1. #1
    Forum Freak
    Registriert seit
    11.04.2006
    Alter
    34
    Beiträge
    602

    Frage Extbase/Fluid: TCA Daten an Controller übergeben für form.select?

    Hallo,

    ich habe hier ein kleines Verständnisproblem. Ich weiß zwar wie man den ViewHelper form.select nutzt allerdings hab ich bis jetzt immer nur Beispiele gefunden die diese Daten aus einer DB holen quasi sowas wie eine Kategorie. Aber wie bekomme ich diese Informationen aus dem TCA?

    in der TCA sage ich ja
    PHP-Code:
    'liste' => array(
                
    'exclude' => 0,
                
    'label'   => 'LLL:EXT:newbe_test/Resources/Private/Language/locallang_db.xml:tx_newbetest_domain_model_test.liste',
                
    'config'  => array(
                    
    'type' => 'select',
                    
    'items' => array (
                        array(
    'LLL:EXT:newbe_test/Resources/Private/Language/locallang_db.xml:tx_newbetest_domain_model_test.liste.I0'0),
                        array(
    'LLL:EXT:newbe_test/Resources/Private/Language/locallang_db.xml:tx_newbetest_domain_model_test.liste.I1'1),
                        array(
    'LLL:EXT:newbe_test/Resources/Private/Language/locallang_db.xml:tx_newbetest_domain_model_test.liste.I2'2),
                        array(
    'LLL:EXT:newbe_test/Resources/Private/Language/locallang_db.xml:tx_newbetest_domain_model_test.liste.I3'3),
                    ),
                    
    'size' => 1,
                    
    'maxitems' => 1,
                    
    'eval' => ''
                
    )
            ), 
    Wie hole ich jetzt diese Daten aus dem TCA in den Controller?

    Stehe da irgendwie total auf dem Schlauch.

    Eventuell weiß ja jemand einen Tipp für mich :)

    Viele Grüße
    typonewbe

  2. #2
    Forum Zuschauer
    Registriert seit
    15.02.2011
    Alter
    63
    Beiträge
    1
    Hi,

    hast du hier was ermitteln können? Ich steh genauso aufm Schlauch ;-)

    gruß
    klapperklaus

  3. #3
    Forum Freak
    Registriert seit
    11.04.2006
    Alter
    34
    Beiträge
    602

    Beitrag

    Hallo,

    ja habe ich hier die Lösung:

    Du kannst im Controller die Werte erfragen und dann an den ViewHelper weitergeben.

    PHP-Code:
    $GLOBALS['TSFE']->includeTCA();
    $tca t3lib_div::loadTCA('deineTabelle');
    $GLOBALS['TCA']['deineTabelle']['columns']['deinFeld']['config']['items'
    Die 3te Zeile per foreach durchlaufen in ein neues Array schreiben und dann an ViewHelper übergebn das wars.

    Gruß typonewbe

  4. #4
    Forum Zuschauer
    Registriert seit
    12.11.2010
    Beiträge
    2
    Hallo,

    das war ein toller Tip. Ich möchte jetzt noch weitergehen und es in einen ViewHelper packen:
    PHP-Code:
    <?php
    class Tx_myExt_ViewHelpers_SelectTcaViewHelper extends Tx_Fluid_ViewHelpers_Form_SelectViewHelper {
        protected function 
    getOptions() {
        
    $GLOBALS['TSFE']->includeTCA();
        
    $tca t3lib_div::loadTCA('tx_myExt_domain_model_ticket');
        foreach (
    $GLOBALS['TCA']['tx_myExt_domain_model_ticket']['columns'][$this->arguments['property']]['config']['items'] as $value) {
          
    $options[$value[1]]=$value[0];    
        }
            if (
    $this->arguments['sortByOptionLabel']) {
                
    asort($options);
            }
            return 
    $options;
        }
    }
    ?>
    Leider habe ich noch 2 Probleme, vielleicht kennt jemand dafür die Lösungen:
    1) Die Tabelle "tx_myExt_domain_model_ticket" ist noch hartcodiert. Hat jemand eine Idee, wo man die Information automatisch herbekommen könnte, alternativ müsste man es als Argrument mitgeben.

    2) Das Argument "options" brauche ich eigentlich nicht mehr, wird aber von der Elternklasse als "required" mitgegeben. Kann man ein Argument aus einem Viewhelper auch wieder entfernen?

    Grüße
    Skorpjon

  5. #5
    Forum Freak
    Registriert seit
    11.04.2006
    Alter
    34
    Beiträge
    602

    Beitrag

    Hallo Skorpjon,

    ja dafür nen eigenen Viewhelper nehmen ist schon besser. Wenn man die Tabellen etwas dynamischer angeben möchte fällt mir eigentlich nur TypoScript dazu ein.


    plugin.tx_yourext {
    settings {
    tca {
    table1 {
    name = tx_erstetabelle }

    table2 {
    name = tx_zweitetabelle
    }

    }
    }

    }

    Wenn du dann das TypoScript mit:
    $this->extbaseFrameworkConfiguration['settings']['tca']['table1']['name']
    ausließt haste halt deine/n Name/n zum übergeben.

    Mir ist allerdings aufgefallen dass das mit TCA keine so gut Idee war zumindest für mein Projekt. Ich hab mir überlegt das gennerell über TypoScript zu steuern ist vielleicht sogar besser, da man einerseits auch mehr oder weniger statisch arbeiten kann ohne jeden Mist in eine Tabelle zu verfrachten andererseits ist es dynamisch genug wenn man über das TypoScript zusätzliche Werte einträgt.

    Beispiel ich benötige eine Kategorie wo selten Änderungen vorgenommen werden, dann schreibe ich es in ein von mir definiertes TS.


    plugin.tx_yourext {
    settings {
    myCategorys {
    1 = Hardware
    2 = Software
    3 = andere
    }
    }
    }


    Ich greife dann über den ViewHelper direkt auf das TS zu und durchlaufe einfach als Schleife myCategorys und hole mir alles was ich benötige. Das ist hier zwar gerade on the fly von mir entstanden denke aber noch ausbaufähig mit Labels die man dann in der locallang.xml speichert. Und falls man noch Unterkategorien benötigt ist das ja auch einfach man sollte es nur vorher wissen damit man den ViewHelper demendsprechend programmiert.

    plugin.tx_yourext {
    settings {
    myCategorys {
    1 {
    name = Hardware
    subcat1 {
    name = Netzwerkkarte
    }
    subcat2 {
    name = Grafikkarte
    }
    }
    }
    }
    }



    usw. Denke da ist das Potential noch nicht erschöpft.


    Hoffe das hilft weiter.

    Gruß typonewbe

    PS: Frohe Ostern euch alle

 

 

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. Daten aus URL-Parameter zwischenspeichern
    Von bjs1977 im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 2
    Letzter Beitrag: 26.07.2010, 22:15
  2. direct mail speichert Daten nicht
    Von design4now im Forum Direct Mail
    Antworten: 1
    Letzter Beitrag: 26.11.2009, 10:20
  3. Daten aus Datenbank lesen
    Von jop im Forum Extension modifizieren oder neu erstellen
    Antworten: 10
    Letzter Beitrag: 01.09.2009, 09:33
  4. Daten AN Formular übergeben?
    Von Larayna im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 3
    Letzter Beitrag: 07.08.2008, 08:38
  5. Post Daten empfangen...
    Von El Rolando im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 4
    Letzter Beitrag: 21.11.2006, 23:47

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238