Systemtabellen in eigenen EXT nutzen.

Systemtabellen wie zum Beispiel pages, tt_content oder fe_user können im Extension Setup auf ein eigenes Model gemapped werden:

 

config.tx_extbase{
    persistence {
        classes { 
            Vendor\MyExtension\Domain\Model\Pages { 
                mapping { 
                    tableName = pages
                 }
            }
        }
    }
}

Damit werden alle Felder der Tabelle wie zum Beispiel ein_feld automatisch zur property  einFeld (underscore zu camelCase). Ein zusätzliches TCA ist nicht erforderlich.

Problematisch wird das automapping,
- wenn in der Tabelle bereits camelCase Feldnamen verwendet wurden, oder
- eigene Felder in über die ext_tables hinzugefügt wurden.

In diesen Fällen müsst ihr die entsprechenden Felder selber mappen.

Beispiel:

config.tx_extbase{
    persistence {
        classes { 
            Vendor\MyExtension\Domain\Model\Pages { 
                mapping { 
                    tableName = pages
                    columns {
                        sampleField.mapOnProperty = sampleField
                        my_field.mapOnProperty = myField
                    }
                 }
            }
        }
    }
}

Model und Repositories der gemappten Systemtabellen

Die Model und Repository Klassen entsprechen dann den gewöhnlichen Klassen. Also so, als wenn ihr ein Model bzw. Repository für eine eigene Tabelle anlegt.

Das Model aus dem Beispiel oben wäre dann:

<?php
namespace Vendor\MyExtension\Domain\Model;

class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

	/**
	 * uid
	 * @var \int
	 */
	protected $uid;

	/**
	 * title
	 *
	 * @var \string
	 */
	protected $title;

	/**
	 * subtitle
	 *
	 * @var \string
	 */
	protected $subtitle;
   ....
}

Dazu noch ein einfaches Repository und ihr könnt auf die Daten in eurem Controller zugreifen.

Dieser Weg funktioniert übrigens auch, wenn ihr auf Daten anderer Extensions zugreifen müsst die noch nicht auf namespaces umgestellt sind.

Weitere Artikel zu diesem Thema:

Empfehlenswerte Lektüre:

TypoScript - kurz & gut

Ein kleines, aber umfassendes Nachschlagewerk aller TypoScript Funktionen das auf jedem Schreibtisch liegen sollte der sich mit TYPO3 intensiv beschäftigt. Es ist für die 6.2 Version nicht mehr ganz aktuell - aber als Referenz für die unzähligen TypoScript Funktionen das beste am Markt.

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.