oliver_g schrieb
Hi,
also für solche tiefgreifenden Änderungen müsstest du selbst ein Backend-Modul schreiben. Das geht natürlich mit Extbase oder auch klassisch.
Du solltest das Listen-Modul von Typo3 eher als Low-Level-Modul für die direkte Datensatzbearbeitung auffassen. Spezielle Funktionalität lässt sich da nicht reinpacken, wenn doch, bräuchte man ja auch keine Backend-Module mehr schreiben und Typo3 wäre eine eierlegende Wollmichsau ;-)
Gruß
Sehr schön, das ist der Weg, den ich nun gehe. Den Ansatz haben wir bereits umgebaut, ich habe die Extension bereinigt, indem ich ein nicht benötigtes Modell gelöscht habe, das Frontend-Modul entfernt habe und die verbleibenden Dateien und Konfigurationen gelöscht habe.
Laut Konvention sollen die Views dann unter "EXT:.../Resources/Private/Backend/Templates" gesucht werden - das ist laut constants.txt auch so eingerichtet:
module.tx_lltreisen {
view {
# cat=module.tx_lltreisen/file; type=string; label=Path to template root (BE)
templateRootPath = EXT:lltreisen/Resources/Private/Backend/Templates/
# cat=module.tx_lltreisen/file; type=string; label=Path to template partials (BE)
partialRootPath = EXT:lltreisen/Resources/Private/Backend/Partials/
# cat=module.tx_lltreisen/file; type=string; label=Path to template layouts (BE)
layoutRootPath = EXT:lltreisen/Resources/Private/Backend/Layouts/
}
persistence {
# cat=module.tx_lltreisen//a; type=int+; label=Default storage PID
storagePid =
}
}
setup.txt greift darauf zurück:
# Module configuration
module.tx_lltreisen {
persistence {
storagePid = {$module.tx_lltreisen.persistence.storagePid}
}
view {
templateRootPath = {$module.tx_lltreisen.view.templateRootPath}
partialRootPath = {$module.tx_lltreisen.view.partialRootPath}
layoutRootPath = {$module.tx_lltreisen.view.layoutRootPath}
}
}
Die Views werden trotzdem nicht an dieser Stelle gesucht, sondern dort, wo Frontend-Templates liegen würden: "EXT:.../Resources/Private/Templates" (es fehlt das Backend-Verzeichnis im Pfad). Wenn ich die Views rüberkopiere, funktioniert es - das kommt mir aber falsch vor.
Die ext_tables.php sieht wie folgt aus:
if (TYPO3_MODE === 'BE') {
/**
* Registers a Backend Module
*/
Tx_Extbase_Utility_Extension::registerModule(
$_EXTKEY,
'web', // Make module a submodule of 'web'
'lltreiseform', // Submodule key
'after:layout', // Position
array(
'TravelDetail' => 'list, show, new, create, edit, update, delete',
),
array(
'access' => 'user,group',
'icon' => 'EXT:' . $_EXTKEY . '/ext_icon.gif',
'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_lltreiseform.xml',
)
);
}
Die ext_localconf.php ist leer, da war vorher ein registerPlugin-Aufruf, der dürfte m.E. hinfällig sein, da ich ja nun kein Plugin mehr erstelle, sondern ein Modul.
Eine Idee?