Um ein bestehendes Extbase-Objekt zu erweitern, muss man die Datei EXT:va_extension/Configuration/Extbase/Persistence/Classes.php mit folgendem Inhalt anlegen:
<?php
declare(strict_types = 1);
return [
//Klasse des Models
\Varioous\VaExtension\Domain\Model\FileReference::class => [
//Name der Tabelle auf welches das Model gemapped wird
'tableName' => 'sys_file_reference',
//Optional kann man noch Felder mappen
'properties' => [
'originalFileIdentifier' => [
'fieldName' => 'uid_local'
]
]
],
];
Aktuelle Förderungen für digitale Projekte - DIGITAL STARTER 22 - KMU Digital - go international
Für ein erfolgreiches Business ist die Präsenz in der digitalen Welt mittlerweile unvermeidbar. Neben klassischen Online-Auftritten werden auch zunehmend diverse Prozesse digitalisiert und so automatisiert abgewickelt. Um die Digitalisierung in unserem Land weiter voran zu treiben, werden dementsprechende Förderungen angeboten, um Unternehmen diesen Schritt in die Digitalisierung zu erleichtern.
Abschließend muss das mapping noch in der ext_localconf.php Datei definiert werden (per XCLass):
/************************************************************************
* XCLASS
************************************************************************/
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][TYPO3\CMS\Extbase\Domain\Model\FileReference::class] = [
'className' => \Varioous\VaExtension\Domain\Model\FileReference::class,
];
// Register extended domain class
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class)
->registerImplementation(
TYPO3\CMS\Extbase\Domain\Model\FileReference::class,
\Varioous\VaExtension\Domain\Model\FileReference::class
);
Nun kann man bereits das Model und das Repository erweitern (einfach von der ursprünglichen Klasse erben):
class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\FileReference {
//Model mit eigenen Feldern erweitern
}
class PageRepository extends \TYPO3\CMS\Core\Domain\Repository\PageRepository {
//Repository erweitern mit eigenen Funktionen
//Am Beispiel PageRepository, da es kein FileReferenceRepository gibt
}
Aus der Reihe TYPO3 Tipps und Tricks
-
TYPO3 Tipps und Tricks: Seite programmatisch erstellen / Create Page Programmatically
-
Microsoft SQL Server (MSSQL) und TYPO3 in einem Docker-Container
-
Manueller/Programmatischer Login in Controller-Action (TYPO3 9)
Weitere interessante Beiträge zum Thema TYPO3 findest du hier.
Wir entwickeln digitale Lösungen mit Leidenschaft
Warum wir das tun? Weil die Verwirklichung Ihrer Vision unser größter Anspruch und die schönste Anerkennung ist. Deshalb nehmen wir uns gerne ausreichend Zeit für die Realisierung Ihres digitalen Projekts.
Kontaktieren Sie uns, wir sind gerne für Ihre Fragen da: