Hi,
ich versuche gerade ein Model im ExtJS zu überschreiben.
Ich möchte nur ein Feld, welches schon definiert ist überschreiben und den Typ ändern. Leider gelingt mir das nicht. Beispiele wo ich ein Feld einfach dazu füge ist kein Problem nur kann ich ein existierendes nicht ändern, es sei denn ich schreibe die Core Datein dafür um.
Mein Beispiel:
/**
* adds the templates directories which expand the order module
*
* @param \Enlight_Controller_ActionEventArgs $args
*/
public function onOrderPostDispatch(\Enlight_Controller_ActionEventArgs $args)
{
$view = $args->getSubject()->View();
// Add view directory
$args->getSubject()->View()->addTemplateDir(
$this->getPluginPath() . '/Resources/views/'
);
if($args->getRequest()->getActionName() === 'index') {
}
if ($args->getRequest()->getActionName() === 'load') {
$view->extendsTemplate('backend/order/model/override_order/position.js');
$view->extendsTemplate('backend/order/view/override_order/position.js');
}
}
Die Datein werden auch dementsprechend dem Backend Module Order zugewiesen, soweit alles gut nun will ich das Feld ‚quantity‘ von int auf float anpassen, doch das wird ignoriert. Wenn ich ein neues Feld mit einem anderen Namen einsetze geht alles ohne Probleme und das neue Feld wird dem Model hinzugefügt.
//{block name="backend/order/model/position/fields"}
{ name: 'quantity', type: 'float' }, //das geht nicht
{ name: 'test', type: 'string' }, //das geht
//{/block}
Hat jemand einen Ansatz oder eine Lösung für dieses Problem?