Ergebnis 1 bis 17 von 17

Thema: Mitgliedergruppen erweitern

  1. #1
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard Mitgliedergruppen erweitern

    Halo zusammen,
    ich möchte die Mitgliedergruppen um 2 Felder erweitern und bekomme danach eine Fehlermeldung beim Aufruf der Mitgliedergruppen.

    Code:
    Fatal error: Could not create a data container object in system/modules/core/classes/Backend.php on line 402
    
    #0 [internal function]: __error(256, 'Could not creat...', '/www/htdocs/...', 402, Array)
    #1 system/modules/core/classes/Backend.php(402): trigger_error('Could not creat...', 256)
    #2 system/modules/core/controllers/BackendMain.php(131): Contao\Backend->getBackendModule('mgroup')
    #3 contao/main.php(20): Contao\BackendMain->run()
    #4 {main}
    Hier ist mein code der tl_member_group.php. Ich bin mir keines Fehlers bewusst, bin aber auch noch nicht so erfahren.
    PHP-Code:
    /**
     * Table tl_member_group
     */
    // Anpassung der Palette
    $GLOBALS['TL_DCA']['tl_member_group']['palettes']['default'] = str_replace
    (
        
    'redirect;',
        
    'redirect;{course_legend:hide},dateStartCourse,dateStartProgram;',
        
    $GLOBALS['TL_DCA']['tl_member_group']['palettes']['default']
    );
       
    // Hinzufügen der Feld-Konfiguration
    $GLOBALS['TL_DCA']['tl_member_group']['fields']['dateStartProgram'] = array
    (
        
    'label'                   => &$GLOBALS['TL_LANG']['tl_member_group']['dateStartProgram'],
        
    'exclude'                 => true,
        
    'inputType'               => 'text',
        
    'eval'                    => array('rgxp'=>'date''datepicker'=>true'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'w50 wizard'),
        
    'sql'                     => "varchar(11) NOT NULL default ''"
    );
    $GLOBALS['TL_DCA']['tl_member_group']['fields']['dateStartCourse'] = array
    (
        
    'label'                   => &$GLOBALS['TL_LANG']['tl_member_group']['dateStartCourse'],
        
    'exclude'                 => true,
        
    'inputType'               => 'text',
        
    'eval'                    => array('rgxp'=>'date''datepicker'=>true'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'w50 wizard'),
        
    'sql'                     => "varchar(11) NOT NULL default ''"
    ); 
    Danke für eure Hilfe.
    LG ele

  2. #2
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Habe deine DCA getestet.
    Ist kein Fehler drinnen.

    PHP-Code:
    <?php

    /**
     * Extend palettes of tl_member_group
     */

    $GLOBALS['TL_DCA']['tl_member_group']['palettes']['default'] = str_replace 

        
    'redirect;'
        
    'redirect;{course_legend:hide},dateStartCourse,dateStartProgram;'
        
    $GLOBALS['TL_DCA']['tl_member_group']['palettes']['default'
    ); 
        
    // Hinzufügen der Feld-Konfiguration 
    $GLOBALS['TL_DCA']['tl_member_group']['fields']['dateStartProgram'] = array 

        
    'label'                   => &$GLOBALS['TL_LANG']['tl_member_group']['dateStartProgram'], 
        
    'exclude'                 => true
        
    'inputType'               => 'text'
        
    'eval'                    => array('rgxp'=>'date''datepicker'=>true'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'w50 wizard'), 
        
    'sql'                     => "varchar(11) NOT NULL default ''" 
    ); 
    $GLOBALS['TL_DCA']['tl_member_group']['fields']['dateStartCourse'] = array 

        
    'label'                   => &$GLOBALS['TL_LANG']['tl_member_group']['dateStartCourse'], 
        
    'exclude'                 => true
        
    'inputType'               => 'text'
        
    'eval'                    => array('rgxp'=>'date''datepicker'=>true'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'w50 wizard'), 
        
    'sql'                     => "varchar(11) NOT NULL default ''" 
    );
    Siehe Screenshots.
    Die Datenbankfelder hast du schon erstellen lassen? Über Contao Install Tool oder über Erweiterungsverwaltung -> Datenbank aktualisieren ?

    Liebe Grüße
    Matthais
    Angehängte Grafiken Angehängte Grafiken
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  3. #3
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard

    ja, habe ich

  4. #4
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Wie wäre es mit mehr Details?

    Hast du sonst schon etwas in deinem Modul drinnen? Andere DCA's?
    Kommt der Fehler nich mehr sobald du dein Modul deaktiviert hast?

    Liebe Grüße
    Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  5. #5
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard

    Hallo Messa,
    danke für deine Hilfe.
    Ich habe gerade dem Namen der Erweiterung ein z vorangestellt (alias + Ordner), da ich die Befürchtung hatte, dass es damit zu tun hat.
    Nach update im Installtool funktioniert es jetzt. Update über Erweiterungsverwaltung reichte hier nicht aus.

    Reicht Alias und Ordner bzw. ist das sauber oder muss ich noch andere Einstellungen vornehmen?

  6. #6
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Ich mache das immer so, wenn ich an Kundenprojekten DCA erweitere.
    Die Module werden nach der Reihe (alphabetisch) geladen (Meines Wissens nach )

    Code:
    x_tl_dca_erweitert
    - dca
    -- tl_news.php
    - config
    -- autoload.ini
    -- ...
    - languages
    -- de
    --- tl_news.php
    Liebe Grüße
    Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  7. #7
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard

    Ja, ich hatte dann auch gelesen, dass die Module alphabetisch geladen werden.
    Deine Lösung gefällt mir.

    Kannst du mir hierzu noch etwas sagen?
    Reicht die Änderung des Alias und des Ordners bzw. ist das sauber oder muss ich noch andere Einstellungen vornehmen?

  8. #8
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Das mit dem x_ braucht man nicht mehr. Einfach in der autoload.ini angeben welche Erweiterung vor der eigenen Erweiterung geladen wird, fertig.

    @ele
    Für das was du machen möchtest, gibt es übrigens bereits eine fertige Erweiterung.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  9. #9
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard

    Ich lerne gerne dazu @the_scrat

    Hast du ein Beispiel,was ich in die config/autoload.ini für tl_member_group eintragen muss?
    Auch die Erweiterung interessiert mich.
    LG ele

  10. #10
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    @the_scrat
    Wir die .ini nicht bei jedem mal wenn "Autoload-Creator" verwendet wird überschrieben?

    Liebe Grüße
    Matthias
    Geändert von Messa (03.07.2017 um 16:43 Uhr)
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  11. #11
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Das ist richtig, nur normalerweise braucht man den Autoload-Creator nur 1x. Wer unbedingt bei jeder neuen Klasse den Autoload-Creator laufen lassen (muss?!) der muss halt dann auch kurz die Autoload.ini bearbeiten.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  12. #12
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Ok, ja das macht dann Sinn, vielleicht beim Entwickeln das X davor und danach über die ini.
    Dann würd das ausreichen?

    Code:
    requires[] = "core"
    Damit zuerst der Core geladen wird.
    https://docs.contao.org/books/cookbo...toloading.html

    @ele post mal deine autoload.ini

    Liebe Grüße
    Matthias
    Geändert von Messa (03.07.2017 um 16:51 Uhr)
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  13. #13
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Ich weiß nicht wie du entwickelst, ich hab das x_ jedenfalls unter Contao3 noch nie gebraucht. Eigentlich ist es sogar kontraproduktiv, denn mal angenommen du entwickelst etwas unter dem namen x_ dann bist du fertig, benennst die Erweiterung um und schon funktioniert es wieder nicht, weil du eben neben dem core vielleicht noch weitere Erweiterungen brauchst die zuerst geladen werden müssen.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  14. #14
    Contao-Nutzer
    Registriert seit
    05.04.2011.
    Beiträge
    162

    Standard

    Meine autoload.ini:
    PHP-Code:
    ;;
    ; List 
    modules which are required to be loaded beforehand
    ;;
    requires[] = "core"

    ;;
    Configure what you want the autoload creator to register
    ;;
    register_namespaces true
    register_classes    
    true
    register_templates  
    true

    ;;
    Override the default configuration for certain sub directories
    ;;
    [
    vendor/*]
    register_namespaces = false
    register_classes    = false
    register_templates  = false 
    Brauche ich nur diesen Code?
    PHP-Code:
    requires[] = "core" 

  15. #15
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Alles gut so wie es ist

    Gesendet von meinem SM-G935F mit Tapatalk
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  16. #16
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Warum eigentlich "x_" und nicht "z_"?
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  17. #17
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    haha Gute Frage, wieso x
    Ich hatte mir das damals so angewöhnt, das hatte keine tiefere Bedeutung.
    Aber wie @the_scrat richtig gesagt hat ist es ja nicht mehr notwenig.
    Alte Gewohnheiten sind nicht immer einfach abzugewöhnen.

    Liebe Grüße
    Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

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
  •