Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: DCA - Nur eine Konfigurationsdatei

  1. #1
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard DCA - Nur eine Konfigurationsdatei

    Hallo Community,

    ich habe eine Tabellenbeziehung erschaffen, bei der ich eine Kindstabelle habe, welche Nutzer enthält.
    Nun möchte ich bei der Elterntabelle mein DCA so konfigurieren, dass hier nur ein Eintrag gesetzt werden kann und nicht mehrere.

    Das soll quasi eine allgemeingültige Konfiguration sein.

    be_contao.PNG

    Es soll hier an dieser Stelle also nur ein Element erstellt werden können.
    Wie kann ich das am Besten umsetzen?

    Vielen Dank

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.058
    Partner-ID
    10107

    Standard

    Du könntest in einem onload_callback prüfen, ob die Tabelle schon einen Eintrag hat und wenn ja die DCA config ändern und notCopyable und notCreatable auf true setzen. Siehe https://docs.contao.org/dev/reference/dca/config/
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du könntest in einem onload_callback prüfen, ob die Tabelle schon einen Eintrag hat und wenn ja die DCA config ändern und notCopyable und notCreatable auf true setzen. Siehe https://docs.contao.org/dev/reference/dca/config/
    Coole Idee!

    Hook habe ich schon startklar und Überprüfung ist auch bereits implementiert.
    Wie könnte ich aber aus dem onLoad-Eventlistener die DCA config speziell notCopyable / notCreatable ändern?

    Edit: Vergiss es, das dürfte ja dann so in der Richtung gehen: $GLOBALS['TL_DCA']['tl_meineTabelle']..... = false;

  4. #4
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du könntest in einem onload_callback prüfen, ob die Tabelle schon einen Eintrag hat und wenn ja die DCA config ändern und notCopyable und notCreatable auf true setzen. Siehe https://docs.contao.org/dev/reference/dca/config/
    Falls jemand anderes mal danach suchen sollte:

    PHP-Code:
     /**
         * @Callback(table="tl_my_table", target="config.onload")
         */
        
    public function onLoadCallbackSingleConfiguration(): void
        
    {
            if(
    $this->connection->query('SELECT * FROM tl_my_table')->rowCount() > 0) {
                
    $GLOBALS['TL_DCA']['tl_my_table']['config']['notCopyable'] = true;
                
    $GLOBALS['TL_DCA']['tl_my_table']['config']['notCreatable'] = true;
            }
        } 
    Vielen Dank Spooky!

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von agonyz Beitrag anzeigen
    Nun möchte ich bei der Elterntabelle mein DCA so konfigurieren, dass hier nur ein Eintrag gesetzt werden kann und nicht mehrere.
    das wäre doch eine "1:1-Relation" - warum dann noch eine Kindtabelle befüllen? - könntest doch die Sachen auch in die Elterntabelle schreiben...

  6. #6
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    das wäre doch eine "1:1-Relation" - warum dann noch eine Kindtabelle befüllen? - könntest doch die Sachen auch in die Elterntabelle schreiben...
    Richtig, ich habe es dann auch geändert.
    Bin gerade erst dabei mich in die Contao - Erweiterungen einzuarbeiten; Sorry also, wenn es noch nicht perfekt ist.

    Logisch erfassen ist das eine, es dann mit einer Contao-Erweiterung umzusetzen das andere. Manchmal kommen da erstmal seltsame Ansätze heraus, die dann am Ende anders umgesetzt werden.

    Danke aber für den Kommentar. Bin um jede Hilfe/jeden Rat dankbar

  7. #7
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von agonyz Beitrag anzeigen
    Sorry also, wenn es noch nicht perfekt ist.
    kein Thema!

    Ich halte es auch für wichtig, sich "seine Stammcommunity" zusammen zu suchen um ab und an die Projekte "zu erzählen" - gerade wenn man Einzelkämpfer ist, hat man manchmal einen Knoten im Kopf oder sieht die Bäume vor lauter Wäldern nicht... da hilft es schon ab und an, die Sachen mal laut auszusprechen ;-)

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
  •