Ankündigung

Einklappen
Keine Ankündigung bisher.

Textsuche um ID erweitern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Textsuche um ID erweitern

    In einem Katalog können über diverse Textfelder Artikel gesucht werden. Dazu ist ein einziges Suchfeld vorhanden, was auch so bleiben soll.
    Ich würde gerne aber auch über die eindeutige ID diesen Artikel über dieses Suchfeld suchen lassen. Das lässt sich aktuell aber nicht auswählen.
    Könntet ihr die ID für die Textsuche ergänzen?
    Ansonsten müsste man für jeden Artikel die ID in ein neues Textfeld schreiben.

  • #2
    Suche doch über ein Alias-Feld
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Der Alias ist in der Suche enthalten. Aber die ID ist nicht teil des Alias.

      Kommentar


      • #4
        Mhh... dem Text-Filter wird das zugrundeliegende Attribut fehlen. Das ID-Feld ist kein Attribute, in diesem Sinne.

        Du kannst mit inputvar und einem Eigenen SQL Filter arbeiten, denke ich.

        Bedingung:
        Code:
        (SELECT id FROM cc_test WHERE id LIKE "%s{{get::MEIN-TEXT-FILTER}}%s")
        Damit das SQL nicht knallt, wenn kein GET-Parameter anliegt, kannst du in der initconfig.php deinen Textfilter Parameter ja stillschweigend vorbelegen mit:

        \Contao\Input::get('meinTextFilter','');
        ---
        Darüber hinaus gibt es natürlich noch Filter wie dem Hook-Callback Filter. Darin geht dann alles.


        http://www.premium-contao-themes.com

        Kommentar


        • #5
          puh, da bin ich raus ;-)
          kann ich nicht einfach ein neues Textfeld nehmen und als Standardwert mit einem Inserttag die aktuelle ID eintrage lassen?

          Kommentar


          • #6
            Ganz so einfach ist es nicht. Contao ersetzt keine Inserttags im Backend. Auch muss es nach bzw. bei dem Speichervorgang passieren, weil sonst ggf. die ID falsch laufen könnte.

            Also ein kleiner save_callback, here you go:


            Ersetze nur die individuellen Felder: cc_test, durch deine Tabelle und mein "preis" Feld, durch deinen Feldnamen. Mein preis Feld ist ein einfaches Textfeld.

            Ist das Zielfeld leer, wird die ID des Datensatzes eingesetzt.

            dcaconfig.php

            Code:
            if (is_array($GLOBALS['TL_DCA']['cc_test']['fields']['preis'])) {
                $GLOBALS['TL_DCA']['cc_test']['fields']['preis']['save_callback'] = array(array('cc_text_helper', 'save_id'));
            }
            
            if (!class_exists('cc_text_helper', false)) {
                class cc_text_helper extends Backend
                {
                    public function save_id($varValue, $objDC)
                    {
                        if (empty($varValue)) {
                            $varValue = $objDC->id;
                        }
                        return $varValue;
                    }
                }
            }
            Zuletzt geändert von Tim; 26.01.2021, 08:46.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Krass, es läuft!!!!

              Kommentar


              • #8
                Könnte ich hier: $objDC->id; noch beliebige Felder aus der Tabelle ergänzen? z.B. das Feld "herstellernr" noch vorne dranhängen?


                Kommentar


                • #9
                  Zitat von eblick Beitrag anzeigen
                  Könnte ich hier: $objDC->id; noch beliebige Felder aus der Tabelle ergänzen? z.B. das Feld "herstellernr" noch vorne dranhängen?

                  Kannst du

                  Zur Sicherheit das "ID"-bezogene Feld nach ganz unten schieben. Der Feld-bezogene save_callback wird abgearbeitet, wenn das Feld abgearbeitet wird und event. ist dein "herstellernr" Feld dann noch nicht im Datensatz (oder nicht aktuell).

                  -> Falls die Platzierung relevant ist, muss man den übergeordneten onsubmit_callback bemühen.
                  Zuletzt geändert von Tim; 26.01.2021, 10:42.
                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    Verstehe! Besten Dank, das ist für künftige Projekte sehr hilfreich!

                    Kommentar

                    Lädt...
                    X