Search code examples
typo3typo3-8.xtypo3-extensionstypo3-9.x

TYPO3 Best practice assigning cObject data to view since getContentObject() is deprecated


I was wondering how this is solved in modern extensions, but could not figure it out. Most of them just magical using e.g. {data.uid} inside their views without any $view->assign('data',...)

In my old actions I had used something like this:

public function myAction() {
  $data = $this->configurationManager->getContentObject()->data;
  $this->view->assign('data', $data);
}

Since getContentObject() is marked as deprecated in v8, it should be replaced with getContentObjectRenderer(), but the Configuration-Manager has not such a function.


Solution

  • OK after playing around a while and searching through a lot of classes, it seems that the original solution is still valid, the deprecated message applied to another class which has no meaning in this case:

    $cObjectData = $this->configurationManager->getContentObject()->data;
    $view->assign('data', $cObjectData);
    

    The Extension File Scanner was misleading me with its warning, there is no deprecated message inside the logs using this solution,... sorry!