...
Mit der Mapping-Klasse \brandbox\component\mapping\lib\map\mapEntityAdvanced
können nur bestimmte Doctrine-Entity-Properties übertragen werden. Diese lassen sich über eine Black- oder Whitelist einstellen. Sollte Black- bzw. Whitelist erhält man unter anderem durch die Formular-Komponente.
Codeblock | ||
---|---|---|
| ||
<?php namespace brandbox\pluginType\pluginName\lib\execute { use brandbox\admin\plugin; use brandbox\component\form; use brandbox\component\mapping; use brandbox\pluginType\pluginName; class vcard extends plugin\lib\executeAbstract { /** * @param array $params * * @return void */ public function save($params) { // Ziel-Entity abrufen $person = $this ->getRepository(pluginName\lib\entity\person::class) ->getEntity(0) ; // Black- und Whitelist abrufen $engine = $this->getAppFactory(form\engine::class); $whitelist = $engine->getListedColumnsByEntity($person, '[Formularidentifikator]', $engine::LIST_TYPE_WHITELIST); $blacklist = $engine->getListedColumnsByEntity($person, '[Formularidentifikator]', $engine::LIST_TYPE_BLACKLIST); // Diese Mapping-Klasse muss vorher initialisiert werden $map = mapping\lib\map\mapEntityAdvanced::get($whitelist, $blacklist); $this ->map() ->from($params) ->withMap($map) ->to($person) ; } } } ?> |
...