Ergebnis 1 bis 7 von 7

Thema: Problem beim Verwenden von Inhaltselementen

  1. #1
    Jayster
    Gast

    Standard Problem beim Verwenden von Inhaltselementen

    Hallo liebe Contao Community,

    ich bin noch neu in der Erweiterungs-Entwicklung.

    Ich wollte nach dieser Anleitung:
    https://contao.org/de/cookbook/3.0/i...verwenden.html
    Inhaltselemente in meiner Erweiterung verwenden. Dazu habe ich die beschriebenen Schritte 1-3 ausgeführt.

    Leider funktioniert das noch nicht. Wenn ich auf den Button zum editieren klicke, erhalte ich die Meldung "Ein Fehler ist aufgetreten!". In meinem System-Log steht:
    Code:
    Table "tl_content" is not allowed in module "lexicon"
    ("lexicon" ist der Name meiner Erweiterung. Ich habe in dem Code aus der Anleitung auch alle Stellen, an denen "news" stand, mit dem Namen meiner Erweiterung "lexicon" ersetzt.)

    Hat jemand vielleicht eine Idee, woran das liegen könnte?

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.519
    User beschenken
    Wunschliste

    Standard

    Und deine eigene Tabelle heißt auch tl_lexicon ?
    Ansonsten zeig doch mal deine komplette DCA tl_lexicon und tl_content deiner Erweiterung.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Jayster
    Gast

    Standard

    Danke für die schnelle Antwort.

    Ja, die Tabelle heißt "tl_lexicon".

    Hier ist meine tl_content
    Code:
    /**
     * Dynamically add the parent table
     */
    if (\Input::get('do') == 'lexicon')
    {
        $GLOBALS['TL_DCA']['tl_content']['config']['ptable'] = 'tl_lexicon';
    }
    Und hier mein tl_lexicon DCA
    Code:
    /**
     * Table tl_lexicon
     */
    $GLOBALS['TL_DCA']['tl_lexicon'] = array
    (
    	// Config
    	'config' => array
    	(
    		'dataContainer' => 'Table',
    		'ctable' => array('tl_content'),
    		'enableVersioning' => true,
    		'sql' => array
    		(
    			'keys' => array
    			(
    				'id' => 'primary'
    			)
    		),
    	),
    	// List
    	'list' => array
    	(
    		'sorting' => array
    		(
    			'mode' => 2,
    			'fields' => array('title'),
    			'flag' => 1,
    			'panelLayout' => 'filter;sort,search,limit'
    		),
    		'label' => array
    		(
    			'fields' => array('title'),
    			'format' => '%s',
    		),
    		'global_operations' => array
    		(
    			'all' => array
    			(
    				'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
    				'href' => 'act=select',
    				'class' => 'header_edit_all',
    				'attributes' => 'onclick="Backend.getScrollOffset()" accesskey="e"'
    			)
    		),
    		'operations' => array
    		(
    			'edit' => array
    			(
    				'label' => &$GLOBALS['TL_LANG']['tl_lexicon']['edit'],
    				'href' => 'table=tl_content',
    				'icon' => 'edit.gif'
    			),
    			'delete' => array
    			(
    				'label' => &$GLOBALS['TL_LANG']['tl_lexicon']['delete'],
    				'href' => 'act=delete',
    				'icon' => 'delete.gif',
    				'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
    			),
    			'show' => array
    			(
    				'label' => &$GLOBALS['TL_LANG']['tl_lexicon']['show'],
    				'href' => 'act=show',
    				'icon' => 'show.gif',
    				'attributes' => 'style="margin-right:3px"'
    			),
    		)
    	),
    	// Palettes
    	'palettes' => array
    	(
    		'default' => '{title_legend},title;{description_legend},description'
    	),
    	// Fields
    	'fields' => array
    	(
    		'id' => array
    		(
    			'sql' => "int(10) unsigned NOT NULL auto_increment"
    		),
    		'tstamp' => array
    		(
    			'sql' => "int(10) unsigned NOT NULL default '0'"
    		),
    		'title' => array
    		(
    			'label' => &$GLOBALS['TL_LANG']['tl_lexicon']['title'],
    			'inputType' => 'text',
    			'exclude' => true,
    			'sorting' => true,
    			'flag' => 1,
    			'search' => true,
    			'eval' => array(
    			'mandatory' => true,
    			'unique' => true,
    			'maxlength' => 255,
    			'tl_class' => 'w50',
    			),
    			'sql' => "varchar(255) NOT NULL default ''"
    		),
    		'description' => array
    		(
    			'label' => &$GLOBALS['TL_LANG']['tl_lexicon']['description'],
    			'inputType' => 'text',
    			'exclude' => true,
    			'sql' => "text NULL"
    		)
    	)
    );

  4. #4
    Contao-Nutzer
    Registriert seit
    25.01.2013.
    Beiträge
    42

    Standard

    Prüf mal, ob Du in die selbe Falle wie ich damals gerasselt bist: https://community.contao.org/de/show...dul-anh%E4ngen

    Hier zur Inspiration ein Schnippsel aus einer entsprechenden config/config.php:

    PHP-Code:
    array_insert($GLOBALS['BE_MOD'], 1, array(
        
    'produkte' => array(
            
    'kategorie' => array
                (
                
    'tables' => array('tl_produkt_kategorie','tl_produkt_kategorie','tl_content'),
                
    'icon' => 'system/themes/default/images/news.gif'
            
    ),
            
    'produkte' => array
                (
                
    'tables' => array('tl_produkt','tl_content'),
                
    'icon' => 'system/themes/default/images/news.gif'
            
    )
                    
        )
    )); 
    Lieben Gruß,
    Michael

  5. #5
    Jayster
    Gast

    Standard

    Das war es tatsächlich. Danke!

    Jetzt fehlt mir nur noch oben dieser Container vom Elternelement (bei dem man auch den Header des Elternelements bearbeiten kann) damit ich das erste Inhaltselement auch platzieren kann. Momentan schaut das noch so aus:

    screen.jpg

    Ich werde mal sehen, wie ich das hinbekomme. Oder hat vielleicht jemand einen Tipp dazu?

  6. #6
    Jayster
    Gast

    Standard

    Habe die Ursache für mein Problem gefunden: ich hatte im dca "tl_content" die falsche ptable gesetzt.

  7. #7
    Contao-Nutzer
    Registriert seit
    08.06.2010.
    Beiträge
    11

    Standard

    Hallo an alle,

    ich greife das Thema nochmal auf, da ich momentant exakt das gleiche Problem habe aber nicht weiter komme.

    Also bei mir sieht es momentan genauso aus wie im Screenshot, im vorletztem Post.
    Ich habe zwei DCA's. "tl_content" und "tl_my_table" in meinem Modul erstellt. Dann habe ich, nach der bereits oben verlinkten Anleitung, meine DCA's wie folgt konfiguriert: (Ausschnitte)

    tl_content
    PHP-Code:
     if (\Input::get('do') == 'my-table') {
        
    $GLOBALS['TL_DCA']['tl_content']['config']['ptable'] = 'tl_my_table';
     } 
    tl_my_table
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_my_table'] = array(
        
    'config' => array(
            
    'dataContainer' => 'Table',
            
    'enableVersioning' => true,
            
    'ctable' => array('tl_content'),
            
    'sql' => array(
                
    'keys' => array (
                    
    'id' => 'primary',
                    
    'alias' => 'index'
                
    )
            ),
        ),
        ...
            
    'operations' => array (
                
    'edit' => array (
                    
    'label' => &$GLOBALS['TL_LANG']['tl_my_table']['edit'],
                    
    'href' => 'table=tl_content',
                    
    'icon' => 'edit.gif'
                
    ),
        ... 
    Bei mir fehlt halt nun noch der Container. Ich kann momentan die Funktion "Element hinzufügen" aufrufen, aber nirgends dran hängen, da nichts da ist.

    Was habe ich vergessen? (Stehe auf dem Schlauch. ^^)

    MfG

    Nachtrag 20160310: Nachdem ich nun alle DCA's nochmals kontrolliert habe, scheint alles wie gewünscht zu funktionieren. Welche Einstellung jetzt genau da zwischen gehauen hat, kann ich nicht genau sagen.

    Nur haben ich noch, trotz einbindung mittels Label-Callback, dass selbe Problem wie Samson1964 (siehe hier). Aber das würde ich dann auch in dem bereits existierenden Beitrag besprechen.
    Geändert von Kinger (10.03.2016 um 14:11 Uhr)

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
  •