Hallo,
ich verzweifle gerade etwas am Namespace-System von Contao 3.1. Und zwar möchte ich die FormSubmit.php aus dem core überschreiben. Da dachte ich mir, ich nutze mal die neue Namespace-Funktionalität und habe eine Erweiterung angelegt mit folgenden Dateien:
config/autoload.ini
config/autoload.php
FormSubmit.php
In autload.php gebe ich Contao einfach die andere Klasse mit:
Und FormSubmit.php sieht so aus:Code:<?php ClassLoader::addClasses(array ( // Forms 'Contao\FormSubmit' => 'system/modules/xmeinmodul/FormSubmit.php', ));
Wenn ich ausführe, bekomme ich einen Fatal error:Code:<?php namespace MyNamespace; use \Contao\FormSubmit as FormSubmitOld; class FormSubmit extends FormSubmitOld { public function generate() { if ($this->imageSubmit) { // Check for version 3 format if ($this->singleSRC != '' && !is_numeric($this->singleSRC)) { return '<p class="error">'.$GLOBALS['TL_LANG']['ERR']['version2format'].'</p>'; } $objModel = \FilesModel::findByPk($this->singleSRC); if ($objModel !== null && is_file(TL_ROOT . '/' . $objModel->path)) { return sprintf('<input type="image" src="%s" id="ctrl_%s" class="submit%s" title="%s" alt="%s"%s%s', $objModel->path, $this->strId, (($this->strClass != '') ? ' ' . $this->strClass : ''), specialchars($this->slabel), specialchars($this->slabel), $this->getAttributes(), $this->strTagEnding); } } // Return the regular button return sprintf('<button type="submit" id="ctrl_%s" class="submit%s"%s>%s</button>', $this->strId, (($this->strClass != '') ? ' ' . $this->strClass : ''), $this->getAttributes(), specialchars($this->slabel)); } }
Bin etwas ratlos und hoffe, es kann jemand Licht ins Dunkel bringenCode:Fatal error: Class 'Contao\FormSubmit' not found in <...>\system\modules\xmeinmodul\FormSubmit.php on line 15
Ciao The_Unknown


Zitieren

