D7: Custom Modul, Entity API, Save/Delete Methode erweitern - entity_class oder entity_controller_class verwenden?
am 08.02.2012 - 18:21 Uhr in
Hallo liebe Community,
für ein Custom Modul, welches auf einer "eigenen" Entity basiert möchte ich die Speichern/Löschen Funktion erweitern. Die Entity wurde mit Hilfe der Entity API in Drupal 7 erstellt.
Die Entity API Standartdefinition der controller- und entity-class von hook_entity_info() sieht wie folgt aus:
function mymodule_entity_info() {
$return['mymodule'] = array(
'entity class' => 'Entity',
'controller class' => 'EntityAPIController',
[...]
);
}Um nun die Speichern/Löschen Funktion der Entity zu erweiteren habe ich eine eigene 'controller class' in hook_entity_info() definiert welche die Klasse EntityAPIController vererbt:
function mymodule_entity_info() {
$return['mymodule'] = array(
[...]
'controller class' => 'MymoduleController',
[...]
);
}
class MymoduleController extends EntityAPIController {
public function __construct($entityType) {
parent::__construct($entityType);
}
public function save($entity, DatabaseTransaction $transaction = NULL) {
// meine Anpassungen
// z.b. Speicherung von Daten in einer Tabelle für Relationen zur aktuellen Entity
// vererbte save() Methode aufrufen
parent::save($entity, $transaction);
}
}Funktioniert auch einwandfrei - ein anderer Weg wäre nicht die Controller Class sondern die Entity Class zu vererben - gibt es hier eine Grundregel, wo liegen die Unterschiede zwischen beiden Varianten, wie würdet Ihr es machen?
Vielen Dank schonmals vorab.
Grüße TommyL
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 2 Tagen 11 Stunden
vor 3 Tagen 6 Stunden
vor 4 Tagen 38 Minuten
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 5 Tagen
vor 1 Woche 5 Tagen
vor 1 Woche 5 Tagen
vor 4 Wochen 2 Tagen
vor 4 Wochen 3 Tagen