[Frage] Eigene Extension listAction() filtern über Checkbox TYPO3-Version: -

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    07. 03. 2016, 17:59

    Hallo,

    ich habe gerade ein Denkproblem.

    Ich habe eine kleine Extension ertellt, bei der es im Backend 2 Möglichkeiten gibt, über ein Select Werte einzustellen:

    1. 'filterX' => array(
    2. .....
    3.  
    4. 'config' => array(
    5. 'type' => 'select',
    6. 'items' => array(
    7. array('Option 1', 0),
    8. array('Option 2', 1),
    9. ),
    10. .....
    11. ),
    12. ),
    13.  
    14. 'filterY' => array(
    15. .....
    16.  
    17. 'config' => array(
    18. 'type' => 'select',
    19. 'items' => array(
    20. array('Option 1', 0),
    21. array('Option 2', 1),
    22. ),
    23. .....
    24. ),
    25. ),

    Nun soll die Ausgabe nach diesen beiden Werten gefiltert werden können, z.B. so:

    1. <f:form object="{filter}" objectName="filter">
    2.  
    3. <f:form.checkbox property="filterX" value="0" />Option 1<br />
    4. <f:form.checkbox property="filterX" value="1" />Option 2<br />
    5.  
    6.  
    7. <f:form.checkbox property="filterY" value="0" />Option 1<br />
    8. <f:form.checkbox property="filterY" value="1" />Option 2<br />
    9.  
    10. <f:form.submit value="ok" />
    11. </f:form>

    Ich möchte nun dieses filter-Form mit der listAction() zusammenbringen.
    Leider schaffe ich es irgendwie nicht, dir Filtereinstellungen korrekt an listAction weiterzugeben und zu filtern.
    Gibt es hierzu irgendwo etwas zum nachlesen oder ein Beispiel?

    Vielen Dank im Voraus!

    LG


  • 1
  • 0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    15. 03. 2016, 08:04

    vielleicht hilft es ja, wenn du mit dem extensionbuilder einfach erst mal eine extension mit einer selectbox im model erstellst

  • aemka aemka
    Jedi-Ratsmitglied
    0 x
    562 Beiträge
    9 Hilfreiche Beiträge
    22. 03. 2016, 15:11

    Im Controller kannst du bspw. per $this->request->getArguments() denn die get/post Daten deines Formulars abrufen und an eine finder Methode im Daten Repository weiterleiten, die dir dann die richtigen Datensätze selektierst, die du dann ans Template zum Rendern gibst.
    Das object="{filter}" objectName="filter" im Form-Tag und property="filterX" in den Feldern kannst du dir übrigens sparen. Das benötigst du nur, wenn du Objekte ändern willst. Stattdessen gibt deinen Feldern einfach nur Namen.

    http://www.aemka.de/

  • 1