Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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
languagephp
<?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)
        ;
      }
      
    }
    
  }

?>

...