-
Anfängerprobleme
Hallo zusammen,
ich nutze Contao 3.0.3 und habe mit Hilfe des Extension-Creators eine Erweiterung erzeugt.
Diese Erweiterung habe ich in das
PHP-Code:
$GLOBALS['BE_MOD']
array eingefügt und kann das Modul auch in der Backend-Navigation auswählen.
Die "Erweiterungsverwaltung" sagt mir allerdings permanent das meine Datenbank nicht aktuell sei und versucht einen CREATE TABLE Befehl.
Auch nachdem ich auf "Datenbank aktualisieren" klicke, wird mir weiterhin der CREATE TABLE Befehl angezeigt, obwohl die Tabelle in der Datenbank angelegt wurde.
An der SQL Definition habe ich nichts geändert - es handelt sich um die vom Extension Creator standardmäßig angelegten Felder:
PHP-Code:
// 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']['test_product']['title'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'maxlength'=>255),
'sql' => "varchar(255) NOT NULL default ''"
)
)
Ausserdem wird mir das Modul nicht als Erweiterung angezeigt.
Was mache ich falsch?
Dank für die Hilfe,
Marcel
-
Zitat:
Zitat von
mpdev
Was mache ich falsch?
Ich hatte neulich das gleiche Problem, indem ich ein Backendmodul per Extension-Creator erstellt und für die Datenbankfelder einfach die Felder ohne das anführende tl_ eingegeben und dann die Extension gespeichert (und damit die Flies erstellt) habe.
Das Problem war dann: Erstens wurden bei mir die Datenbankfelder erst gar nicht vom Extension-Creator angelegt, zweitens bekam ich dann natürlich auch die ständigen fehlenden Tabellen in der "Erweiterungsverwaltung->Datenbank aktualisieren" angezeigt.
Auch eine nachträgliche Änderung der Tabellen in tl_xyztabelle in der Eingabemaske des Extension-Creators brachte keine Änderung.
Letztendlich habe ich die angezeigte SQL-Syntax in der "Erweiterungsverwaltung->Datenbank aktualisieren" kopiert und per phpMyAdmin ausführen lassen. Dann habe ich in der erstellten Extension im Ordner system/modules/meineextension/dca in allen Dateien die Felder von
Code:
$GLOBALS['TL_DCA']['extensiontabelle'] = array
in
Code:
$GLOBALS['TL_DCA']['tl_extensiontabelle'] = array
geändert.
Danach war das Problem erledigt. Vielleicht wurde das Problem dadurch herbeigeführt, dass ich bei der Erstellung der Extension per Creator noch den internen Cache angeschaltet hatte...
LG Rico