Feature #67890

Updated by Patrick Broens over 6 years ago

Currently the method process in FluidTemplateDataProcessorInterface looks like 

 <pre> 
 public @public function process( 
	 array &$data, // $this->cObj->data 
	 array $processorConfiguration, 
	 array $configuration, 
	 StandaloneView $view 
 ); 
 </pre> );@ 

 where $data is $this->cObj->data coming from FluidTemplateContentObject. 

 There are two issues with this: 

 1) The data processors currently written and in review are instantiating the ContentObjectRenderer ($this->cObj) again. This is overkill, since it is already available in FluidTemplateContentObject. 

 2) This variable is referenced, which makes it possible to influence $this->cObj->data. It is better to assign manipulated values to the view directly, instead of using $cObj->data. As an example: {data.bullets} should contain the non-manipulated data, {bullets} should contain the manipulated data. 

 The proposal is to use $this->cObj from FluidTemplateContentObject in the method process of FluidTemplateDataProcessorInterface, like 

 <pre> 
 public @public function process( 
	 array $cObj, // $this->cObj 
	 array $processorConfiguration, 
	 array $configuration, 
	 StandaloneView $view 
 ); 
 </pre> );@ 

 This is breaking since we introduced the interface in version 7.3.0

Back