[Frage] Alle Inhalte bestimmter System Kategorien (sys_category) per TypoScript ausgeben lassen TYPO3-Version: 7.6.11

  • Thorsten1508 Thorsten1...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    04. 11. 2016, 09:52

    Hallo mal wieder :)
    Ich habe bei einem Projekt System Kategorien erstellt (sys_category). Dann habe ich Inhaltselemente, welche mehrerer (wichtig!) Kategorien zugeordnet sind. Nun möchte ich per Typoscript Inhalte anhand der zugeordneten Kategorien ausgeben lassen. Es sollen also nur die Inhalte angezeigt werden, die genau den angegebenen Kategorien zugeordnet sind. Inhalte einer Kategorie bekomme ich, aber das mit der Kombination krieg ich leider nicht hin. Hier mal mein Ansatz:

    1. 200 = COA_INT
    2. 200 {
    3. 4 = CONTENT
    4. 4{
    5. table = tt_content
    6. #Seite mit den Inhaltselementen
    7. pidInList = 247
    8. join = sys_category_record_mm ON tt_content.uid = sys_category_record_mm.uid_foreign
    9. groupBy = uid
    10. #Ausgabe der Kategorie mit der uid 11
    11. where = sys_category_record_mm.uid_local = 11 AND sys_category_record_mm.tablenames = 'tt_content'
    12. #Versuch einer Kombination
    13. #where = sys_category_record_mm.uid_local IN (12, 13) AND sys_category_record_mm.tablenames = 'tt_content'
    14. }
    15. }
    16. }

    Konnte im Netz leider nichts passendes finden. Das Systemeigene Menü für Kategorien liefert ja ebenfalls nicht die AUsgabe, die ich brauche, sondern zeigt alle Inhalte jeder einzelnen Kategorie. Ich stelle mir so eine Kategorieauswahlmöglichkeit vor, wie bei tt_news (Zeige alle Meldungen der ausgewählten Katewgorien).

    Vielen Dank schon mal,
    Thorsten


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    04. 11. 2016, 16:53

    Dein Typoscript funktioniert einwandfrei.
    Um es zu testen kannst du den kompletten Block mal als page.10 ausgeben:

    1. page.10 = COA_INT
    2. page.10 {
    3. 4 = CONTENT
    4. 4{
    5. table = tt_content
    6. #Seite mit den Inhaltselementen
    7. pidInList = 247
    8. join = sys_category_record_mm ON tt_content.uid = sys_category_record_mm.uid_foreign
    9. groupBy = uid
    10. #Ausgabe der Kategorie mit der uid 11
    11. where = sys_category_record_mm.uid_local = 11 AND sys_category_record_mm.tablenames = 'tt_content'
    12. #Versuch einer Kombination
    13. #where = sys_category_record_mm.uid_local IN (12, 13) AND sys_category_record_mm.tablenames = 'tt_content'
    14. }
    15. }
    16. }

    Hast du ganz sicher die richtigen UIDs für pidInList und die sys_category_record_mm.uid_local gesetzt?

  • Thorsten1508 Thorsten1...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    08. 11. 2016, 11:04

    Hallo toifel,
    vielen Dank für das Feedback.

    Ich weiss, dass das Typoscript so funktioniert. Was ich nicht hinbekomme ist, dass ich 2 oder mehr Kategorien (sys_category_record_mm.uid_local) in die where-Abfrage beomme.

    Ich möchte z. B. alle Datensätze ausgeben, die sowohl in Kategorie mit der ID 11, als auch in der Kategorie 12 sind. Es sollen aber nicht die Datensätze ausgegeben werden, die nur in Kategorie 11 oder Kategorie 12 sind. Gedanklich also folgende Abfrage (die so natürlich Quatsch ist und nicht funktionieren kann):

    1. where = sys_category_record_mm.uid_local = 11 AND sys_category_record_mm.uid_local = 12 AND sys_category_record_mm.tablenames = 'tt_content'

    Wäre super, wenn Du diesbezüglich nochmal schauen könntest ;)

    VG Thorsten

  • 1