Ankündigung

Einklappen
Keine Ankündigung bisher.

Vorbelegung eines Feldes mit load_callback

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

  • Vorbelegung eines Feldes mit load_callback

    Hallo Tim,
    habe von Contao 4.4.55 || CC 2.21.1 erfolgreich auf Contao 4.9.14 || CC 4.3.7 migriert. Läuft alles super, außer eine Sache:
    Belege in einem Katalog beim Laden 2 Text-Felder mit einen Zufallscode.
    Eines davon wird aber erst über eine Kontroll-Checkox nachgeladen.
    Unter 2.21.1 klappte die Vorbelegung und 4.3.7 leider nicht. Wenn dies nicht über die Kontroll-Checkox nachgeladen wird, klappt es auch.

    Hast du einen heißen Tipp für mich?

    Danke

  • #2
    Da liegen einige Versionen dazwischen. Wichtig ist, dass deine load_callback definition immer nach CCs Arbeit definiert ist. Idealerweise in einer eigenen Erweiterung, die direkt nach CC lädt (autoload.ini).

    Ab 4.0 gibt es den DCA-Cache event. muss du diesen deaktivieren (Systemeinstellungen)
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ne klappt nicht. DCA-Cache ist permanent aus, da sonst Kontroll-Checkbox nicht läuft.
      Auch mit Ergänzung der autoload.ini bleibt das Ergebnis.
      Wenn das Feld nicht über eine Kontroll-Checkbox geladen wird, wird ein Code generiert.
      Wird das Feld mittels Kontroll-Checkbox geladen, bleibt die Vorbelegung leer.
      Werde mal ein SaveCallBack probieren.

      Kommentar


      • #4
        Subpaletten sollten auch mit aktiven DCA-Cache arbeiten. Aktiviere mal den Cache wieder und speichere einmal die Kontroll-Checkbox felder über. Das sollte den Cache an dieser Stelle neu aufbauen. 4.3.6

        load_callbacks arbeiten auf subpaletten Felder. Anbei ein Beispiel für das Alt. Text-Feld des Bild-Attributes.

        Die Checkbox "Galerie einfügen" ist eine Kontroll-Checkbox und triggert die Bild-Felder darunter. Dass der load_callback greift, sieht man am Dump direkt am Feld (Ajax rendert hier nur die Felder, nicht die ganze Seite -> daher der dump inline).

        dcaconfig.php

        Code:
         [COLOR=#333333][FONT=Monaco][SIZE=11px] [COLOR=#8735a5]$GLOBALS[/COLOR][[COLOR=#dd2400]'TL_DCA'[/COLOR]][[COLOR=#dd2400]'cc_test'[/COLOR]][[COLOR=#dd2400]'fields'[/COLOR]][[COLOR=#dd2400]'bild_alt'[/COLOR]][[COLOR=#dd2400]'load_callback'[/COLOR]][] [COLOR=#000000]=[/COLOR] [COLOR=#0045aa]array[/COLOR]([COLOR=#dd2400]'myClass'[/COLOR],[COLOR=#dd2400]'myLoadCallback'[/COLOR]);
            [COLOR=#0045aa]if[/COLOR][COLOR=#000000]([/COLOR] [COLOR=#000000]![/COLOR][COLOR=#400080]class_exists[/COLOR]([COLOR=#dd2400]'myClass'[/COLOR]) [COLOR=#000000])[/COLOR]
          [COLOR=#000000]{[/COLOR]
          [COLOR=#0045aa]class[/COLOR][COLOR=#000000] myClass[/COLOR]
          [COLOR=#000000]{[/COLOR]
          [COLOR=#0045aa]public[/COLOR][COLOR=#0045aa]function[/COLOR][COLOR=#3f6e7d]myLoadCallback[/COLOR][COLOR=#000000]([/COLOR][COLOR=#8735a5]$varValue[/COLOR][COLOR=#000000], [/COLOR][COLOR=#8735a5]$objDC[/COLOR][COLOR=#000000])[/COLOR]
          [COLOR=#000000]{[/COLOR]
          [COLOR=#400080]var_dump[/COLOR][COLOR=#000000]([/COLOR][COLOR=#8735a5]$objDC[/COLOR][COLOR=#000000]->id);[/COLOR]
          [COLOR=#0045aa]return[/COLOR][COLOR=#8735a5]$varValue[/COLOR][COLOR=#000000];[/COLOR]
          [COLOR=#000000]}[/COLOR]
          [COLOR=#000000]}[/COLOR]
          [COLOR=#000000]}[/COLOR]
         [/SIZE][/FONT][/COLOR]
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: screenshot_7003.jpg
Ansichten: 94
Größe: 24,9 KB
ID: 22516
        Zuletzt geändert von Tim; 18.05.2021, 08:05.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Hallo Tim,
          mal ein herzliches Dankeschön für deine Unterstützung - ist ja nicht das erste Mal .

          Stand: Ich habe jetzt eine Contao 4.9.14 und CC 4.3.9. Die Installation ist komplett nackig. Also keine sonstigen Erweiterungen.
          Was soll ich sagen. Ich kann machen was ich will, aber die Kontroll-Checkbox-Funktion geht nur bei deaktiviertem DCA-Cache.

          Das andere Thema teste ich noch. Da hab ich erstmal über einen save_callback eine Lösung gefunden.

          Gruß
          Frank

          Kommentar

          Lädt...
          X