[TYPO3-german] Extbase: Datensätze nach bestimmten Kategorien filtern (sys_category)

Johannes C. Laxander jc at laxander.com
Sun Jun 8 20:21:25 CEST 2014


Hallo,

 

ich kann in meiner Extension den Datensätzen Kategorien aus sys_categories
zuordnen und auch über das Template ausgeben:

 

<f:for each="{cruise.cruiseTypes}"
as="category">{category.title}<br></f:for>

 

Da funktioniert ganz wunderbar! Jetzt steh ich Aber irgendwie auf dem
Schlauch – vllt. hitzebedingt ;-) 

 

Mein Problem ist gerade, dass ich nicht weiß, wie ich es anstellen soll, die
Datensätze im Repository zu filtern. Ich habe eine Funktion
findBySelectedCriteria($settings) über die ich schon andere Filterkriterien
berücksichtige. Auch das funktioniert einwandfrei!

 

Das ist mein Kategorie-Auswahl-Feld im flexform:

 

<settings.flexform.categories>

  <TCEforms>

    <label>Kategorien</label>

    <config>

      <type>select</type>

      <renderMode>tree</renderMode>

      <treeConfig>

        ...

      </treeConfig>

      <foreign_table>sys_category</foreign_table>

      <foreign_table_where> AND sys_category.pid = 5 AND
...</foreign_table_where>

      ...

    </config>

  </TCEforms>

</settings.flexform.categories>

 

Es geht ja jetzt darum, die einschränkende Bedingung für das query-Objekt
zusammenzubauen.

Damit hat se schon mal nicht funktioniert: 

 

foreach($settings as $item => $value) {

     foreach($item as $key => $value) {

         if ($key == 'categories' and $value > 0) {

$constraints[] = $query->contains('cruiseTypes', $value);

         }

     }

}

 

Ist settings.flexform.categories ein array?

 

Irgendwer in der Lage, mir einen Anstupser zu geben, oder gerne auch die
Lösung zu posten ;-)

 

Gruß, Johannes.



More information about the TYPO3-german mailing list