Ankündigung

Einklappen
Keine Ankündigung bisher.

Schlüsselfeld bei Auswahl-Datenbank (einfaches Select) wird nicht berücksichtig

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Schlüsselfeld bei Auswahl-Datenbank (einfaches Select) wird nicht berücksichtig

    Hallo liebes Forum,

    in mittlerweile zwei verschiedenen Projekten haben wir das Phänomen, dass eine Auswahl auf die Datenbank (einfacher Select) nicht das richtige Schlüsselfeld, sondern einfach die ID des Eintrags verwendet. Ich möchte also von Konfiguration A auf die Einträge von Konfiguration B zugreifen. Die Wertefelder und die Sortierung beziehen sich auf den Namen des Eintrags in Konfiguration B - das ist soweit richtig. Wähle ich dann aber einen Eintrag im Backend aus, wird mir als Schlüsselfeld fälschlicherweise aber die ID ausgegeben.

    Für eine Weile hat diese Auswahl sogar funktioniert, nach der Leerung des Contao-Caches nahm er allerdings wieder die IDs.

    CC habe ich bereits vor kurzem geupdatet, hat allerdings nichts verändert.

    Freue mich über Anregungen zum Problem

  • #2
    Hi,

    Ich möchte also von Konfiguration A auf die Einträge von Konfiguration B zugreifen.
    In diesem Fall ist die ID sogar der sicherste Schlüsselwert. Meinst du vielleicht das Wertefeld? Das Wertefeld dient der lesbaren Ausgabe.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ne, tatsächlich das Schlüsselfeld. Wir sind auf das Attribut bib_key angewiesen, weil es Redakteuren gestattet sein soll per CSV neue Datensätze hochzuladen. Diese haben aber keinen Zugriff auf die ID des Eintrags, sondern nur auf das Feld Bib_key.

      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screenshot 2021-11-26 112049.jpg
Ansichten: 144
Größe: 83,7 KB
ID: 23867

      Kommentar


      • #4
        Wie setzt sich "bib_key" zusammen? Wird in der Datenbank der richtige Wert aus bib_key im Auswahlfeld gespeichert?
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Nunja, eine Zusammensetzung gibt es da nicht. Das ist ein Wert bestehend aus Buchstaben und Zahlen, der im Vorhinein von dem Kunden definiert wurde und daher auch einzigartig ist. In der Datenbank sehe ich dann an der Stelle die ID des Eintrages, dieser gehört aber zur richtigen Bibliothek.

          Kommentar


          • #6
            Speichert das Auswahlfeld den richtigen Wert in der Datenbank?
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Nein, der richtige Wert ist es nicht. Der richtige Wert wäre der bib_key, stattdessen wird die ID gespeichert.

              Kommentar


              • #8
                Zitat von kellermann Beitrag anzeigen
                Nein, der richtige Wert ist es nicht. Der richtige Wert wäre der bib_key, stattdessen wird die ID gespeichert.
                Ich glaube der DCA-Cache grätscht rein. Leere oder deaktiviere mal den DCA-Cache.

                Deaktieren : Systemeinstellungen > CustomCatalog Einstellungen > DCA Cache deaktivieren
                Zuletzt geändert von Tim; 26.11.2021, 12:25.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Cache geleert und zusätzlich zum Test ein neues Feld angelegt, mit gleicher Funktion aber einem alias, den ich in dem Projekt noch nie zuvor verwendet habe. Gleiches Ergebnis. In beiden Feldern in der Datenbank steht die ID.

                  Kommentar


                  • #10
                    Zitat von kellermann Beitrag anzeigen
                    Cache geleert und zusätzlich zum Test ein neues Feld angelegt, mit gleicher Funktion aber einem alias, den ich in dem Projekt noch nie zuvor verwendet habe. Gleiches Ergebnis. In beiden Feldern in der Datenbank steht die ID.
                    Ich kann es reproduzieren bei aktivieren DCA Cache. Ich habe es notiert für ein Update.

                    Das Problem besteht bei aktivierten DCA Cache und kommt durch die Contao-DCA Funktion foreignKey, die genutzt wird, wenn die Tabelle ein id-Feld hat - unabhängig davon, ob das Schlüsselfeld auch das id-Feld ist. -> ich ergänze eine Prüfung.
                    Das foreignKey Feature bewirkt dass Contao die eigentliche Routine zum Aufbau der Auswahloptionen umgeht und seine interne Routine startet. Diese kennt aber das gewünschte Schlüsselfeld nicht, sondern nutzt das id-Feld.

                    Bis zum Update kann einfach der DCA-Cache deaktiviert werden. Damit funktioniert alles wie gewohnt.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Prima! Allerdings kann ich den Cache bei mir gar nicht umgehen. Ich habe nur die Möglich den zu leeren. Kam diese Funktion mit einem ganz neuen Update?

                      Kommentar


                      • #12
                        Die Funktion steht seit 4.1.1 in den Systemeinstellungen bereit.

                        Alternativ per initconfig.php
                        $GLOBALS['PCT_CUSTOMCATALOG']['SETTINGS']['bypassDCACache'] = true;
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          CustomCatalog 4.3.14

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

                          Kommentar

                          Lädt...
                          X