Contao-Camp 2024
Ergebnis 1 bis 6 von 6

Thema: Isotope Attribute Datenbank Abfrage in Abhängigkeit von Visibility

  1. #1
    Contao-Nutzer
    Registriert seit
    26.08.2016.
    Beiträge
    11

    Standard Isotope Attribute Datenbank Abfrage in Abhängigkeit von Visibility

    Hallo alle zusammen,

    Für einen Webshop habe ich mir eine Erweiterung zur Verwaltung verschiedener Stoffe programmiert. Jetzt gibts es einerseits ein Fenster in dem die Stoffe mit den Bildern aufgelistet werden wobei auch berücksichtigt wird ob das Auge angeklickt ist oder nicht.

    Interface.PNG -> Das Auswahlmenü generell
    Fenster mit den Stoffen.PNG -> Das Fenster mit den Stoffen das aufpoppt.

    Die Seite findet ihr unter der folgenden Adresse: https://www.zirbelkind.at/

    Nun soll der Kunde nachdem er sich die Stoffe angesehen hat in einer Dropdown Liste in der alle Stoffe noch einmal aufgelistet sind, den richtigen auswählen. Das habe ich mit einem neuen Isotope Attribut gelöst und einer Datenbankabfrage die auf die Spalte mit den Stoffnamen verweist.

    Nun hat sich jetzt herausgestellt das wenn das Auge/die Sichtbarkeit deaktiviert wird der Stoff zwar im Fenster mit den Fotos verschwindet, aber in der Dropdown Liste immer noch angezeigt wird (Denn hier wird die Sichtbarkeit ja ignoriert).

    Ist es jetzt möglich im Feld der Datenbankabfrage Datenbank Abruf.PNG bei den Attributen eine Abfrage der Felder der Spalte "title" zu machen und dabei die Sichtbarkeit zu berücksichtigen?

    Viele Grüße und herzlichen Dank,
    Samuel

  2. #2
    Contao-Nutzer
    Registriert seit
    16.02.2012.
    Beiträge
    4

    Standard

    Hallo Samuel,

    ich weiß nicht ob es dafür eine saubere Lösung gibt, aber du könntest folgendes probieren:

    Code:
    de=tl_stoffauswahl WHERE published=1.title
    sofern published deine Spalte für die Sichtbarkeit ist.

    Ich habe es jetzt nicht getestet, könnte aber funktionieren.
    Ist auch nicht gerade eine schöne Lösung.

  3. #3
    Contao-Nutzer
    Registriert seit
    26.08.2016.
    Beiträge
    11

    Standard Funktioniert leider nicht

    Erst mal danke für deinen Lösungsvorschlag. Contao Isotope hat zumindest nichts gegen den Syntax, allerdings erscheint auf der Website dann eine Fehlermeldung.

    Die lautet wie folgt (vlt. hilfts ja zur Fehlerfindung - wobei die Syntax in diesem Eingabefeld sowieso kurioserweise nicht mit der normalen übereinstimmt):

    Code:
    Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE tstamp>0 ORDER BY value' at line 1 (SELECT id, title AS value FROM tl_stoffauswahl WHERE published=1 WHERE tstamp>0 ORDER BY value) thrown in system/modules/core/library/Contao/Database/Statement.php on line 295
    
    #0 system/modules/core/library/Contao/Database.php(207): Contao\Database\Statement->query('SELECT id, titl...')
    #1 system/modules/core/library/Contao/Widget.php(1405): Contao\Database->query('SELECT id, titl...')
    #2 system/modules/isotope/library/Isotope/Model/Product/Standard.php(576): Contao\Widget::getAttributesFromDca(Array, 'stoffauswahl', NULL, 'stoffauswahl', 'tl_iso_product', Object(Isotope\Model\Product\Standard))
    #3 system/modules/isotope/library/Isotope/Model/Product/Standard.php(481): Isotope\Model\Product\Standard->generateProductOptionWidget('stoffauswahl', Array, Array)
    #4 system/modules/isotope/library/Isotope/Module/ProductReader.php(116): Isotope\Model\Product\Standard->generate(Array)
    #5 system/modules/core/modules/Module.php(287): Isotope\Module\ProductReader->compile()
    #6 system/modules/isotope/library/Isotope/Module/Module.php(112): Contao\Module->generate()
    #7 system/modules/isotope/library/Isotope/Module/ProductReader.php(73): Isotope\Module\Module->generate()
    #8 system/modules/core/elements/ContentModule.php(59): Isotope\Module\ProductReader->generate()
    #9 system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate()
    #10 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #11 system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile()
    #12 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #13 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
    #14 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #15 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #16 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #17 index.php(20): Contao\FrontendIndex->run()
    #18 {main}
    Und ja die Spalte heißt published.

  4. #4
    Contao-Nutzer Avatar von michelb
    Registriert seit
    14.03.2011.
    Ort
    Essen
    Beiträge
    129
    User beschenken
    Wunschliste

    Standard

    Da fehlt ein AND zwischen den beiden WHERE-Abfragen

    Code:
    WHERE published=1 AND WHERE tstamp>0

  5. #5
    Contao-Nutzer
    Registriert seit
    16.02.2012.
    Beiträge
    4

    Standard

    Ok, die Widget-Klasse von Contao hängt da noch ein WHERE an.

    Dann probiere doch mal folgendes:
    Code:
    de=tl_stoffauswahl WHERE published=1 AND tstamp>0 ORDER BY value;#.title
    Aber wie gesagt, das ist nichts Anständiges. Mehr ein Hack als eine dauerhafte Lösung.

    Besser wäre es ein eigenes Attribut zu erstellen (kannst dir ja SelectMenu als Vorlage nehmen) und dann die loadOptions-Methode überschreiben.

    edit:
    Code:
    de=tl_stoffauswahl WHERE published=1 AND tstamp>0 ORDER BY title;#.title

  6. #6
    Contao-Nutzer
    Registriert seit
    26.08.2016.
    Beiträge
    11

    Standard Jetzt klappts!

    Super Danke für deinen Ratschlag, jetzt klappts einwandfrei und sollte bis ich ein eigenes Attribut programmiert habe zuverlässig seinen Dienst tun.

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
  •