public function wrapContentObject(NodeInterface $node, $content, $typoScriptPath)
{
if ($this->needsMetadata($node, false) === false) {
return $content;
}
$attributes = [];
$attributes['data-node-__typoscript-path'] = $typoScriptPath;
$attributes['tabindex'] = 0;
$attributes = $this->addGenericEditingMetadata($attributes, $node);
$attributes = $this->addNodePropertyAttributes($attributes, $node);
$attributes = $this->addCssClasses($attributes, $node, $this->collectEditingClassNames($node));
return $this->htmlAugmenter->addAttributes($content, $attributes, 'div', array('typeof'));
}
/** * In live workspace this just renders a the content. * For logged in users with access to the Backend this also adds the attributes for the RTE to work. * * @param NodeInterface $node The node of the content element. Optional, will be resolved from the TypoScript context by default. * @return string The rendered property with a wrapping tag. In the user workspace this adds some required attributes for the RTE to work * @throws ViewHelperException */ public function render(NodeInterface $node = null) { $view = $this->viewHelperVariableContainer->getView(); if (!$view instanceof TypoScriptAwareViewInterface) { throw new ViewHelperException('This ViewHelper can only be used in a TypoScript content element. You have to specify the "node" argument if it cannot be resolved from the TypoScript context.', 1385737102); } $typoScriptObject = $view->getTypoScriptObject(); $currentContext = $typoScriptObject->getTsRuntime()->getCurrentContext(); if ($node === null) { $node = $currentContext['node']; } return $this->contentElementWrappingService->wrapContentObject($node, $this->renderChildren(), $typoScriptObject->getPath()); }