Ergebnis 1 bis 8 von 8

Thema: Katalog-Liste - Bedingung erkennt kein mehrfaches Tagging

  1. #1
    Contao-Nutzer
    Registriert seit
    22.07.2009.
    Beiträge
    24

    Standard Katalog-Liste - Bedingung erkennt kein mehrfaches Tagging

    Hallo zusammen,

    der Titel ist etwas schwierig formuliert, es geht um folgendes:

    Ich habe das Catalog und das catalog_ext modul installiert.

    Es existiert ein katalog mit 150 Produkten. Die datenmaske zur eingabe besteht aus mehreren textfeldern und 2 Feldern mit Typ Tags, einmal Hauptkategorie und einmal kategorie mit der unterauswahl-option. Auf den jeweiligen seiten werden über verschiedene Katalog Listen die Ausgaben gefiltert. Jeweils mit der kategoriebedingung (Beispiel "hauptkategorie = 8"). Ich verwende die ID (im Beispiel die 8) der Taxonomie einträge, alles funktioniert tadellos.

    Aber,

    wenn ich 2 Häkchen setze oder generell mehrfach tags setze, wird nur in der Liste das Produkt ausgegeben, welches den ersten eintrag in dem datenfeld hat.

    Also Beispiel:
    Artikel 1,

    Hauptkategorie: (2 tags gesetzt)

    -Mundschutz (x)
    -Kopfbedeckung (x)

    Wird so in die SQL Tabelle eingetragen:
    Artikel 1
    hauptkategoie 8, 9

    In der katalogliste mit der bedingung hauptkategorie = 9 wird der Artikel dann aber nicht angezeigt.


    Was muss ich tun, damit das funktioniert???

    Danke im Voraus, ich hoffe mir kann jemand weiterhelfen.
    Geändert von MacKP (10.02.2010 um 13:05 Uhr)

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo toelsen,
    da ja da drinn eine array gespeichert wird und nicht nur eine Zahl kann es so auch nicht funktionieren.
    Du könntest es mal mit where like o.ä. veruschen (bin da auch nicht gerade der Spezialist...).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Nutzer
    Registriert seit
    22.07.2009.
    Beiträge
    24

    Standard

    Hi,

    danke für deine Antwort,

    also mit LIKE geht es schon mal etwas voran, allerdings ist es nicht genau das richtige denn ich kann nicht explizite Angaben machen, sondern nur mit Platzhaltern suchen.

    Also so kategorie LIKE '%9%'

    dann bekomme ich aber auch die ID 19,29 usw oder 91,92 usw, was ja nicht so sein soll.

    Gibt es weitere Lösungsansätze?

    Ich habe nun noch dies hier herausgefunden:
    http://www.webmasterworld.com/forum88/4483.htm

    Leider weiß ich nicht wie ich das in die Bedingung der Katalogliste eingeben muss.
    Geändert von toelsen (01.12.2009 um 13:26 Uhr)

  4. #4
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    FIND_IN_SET(kategorie, 9)
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  5. #5
    Contao-Nutzer
    Registriert seit
    22.07.2009.
    Beiträge
    24

    Standard

    Super das ist es, vielen vielen Dank! Ich hatte ein Leerzeichen drin.

    Allerdings muss der Syntax so lauten:

    FIND_IN_SET('9',kategorie)

    Dieser Workaround dient dazu, dass das Multi Taggen funktioniert!!!
    Geändert von toelsen (01.12.2009 um 13:39 Uhr)

  6. #6
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Was muss man machen, wenn man zwei Sachen abfragen möchte, z.B:

    • FIND_IN_SET('35',anzeigenseite)
    • FIND_IN_SET('38',einsatzgebietkategorie)


    Wie muss ich das in das Bedingungs-Feld reinschreiben? Kommagetrennt oder mit Leerzeichen dazwischen funktioniert nicht.

  7. #7
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Chris87 Beitrag anzeigen
    • FIND_IN_SET('35',anzeigenseite)
    • FIND_IN_SET('38',einsatzgebietkategorie)

    Wie muss ich das in das Bedingungs-Feld reinschreiben? Kommagetrennt oder mit Leerzeichen dazwischen funktioniert nicht.
    Nah dran aber knapp vorbei
    Das ist normale SQL Syntax. Um in SQL mehrere Dinge abzufragen, kann man die Bindewoerter "AND" und "OR" verwenden.
    Du moechtest also:
    PHP-Code:
    FIND_IN_SET('35',anzeigenseite) AND FIND_IN_SET('38',einsatzgebietkategorie
    Um auf beides zu pryfen.

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  8. #8
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Ok, vielen Dank.

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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