Bug #101559
openExtbase view should not require renderSection and renderPartial
0%
Description
Currently, extbase view resolvers must return fluid views. Fluid views need to implement `renderSection` and `renderPartial`. Those methods do not make sense for many views, such as json or xml views. The methods should not be required for all extbase views.
More technically, the return type of `\TYPO3\CMS\Extbase\Mvc\View\ViewResolverInterface::resolve` is `\TYPO3Fluid\Fluid\View\ViewInterface`.
`\TYPO3Fluid\Fluid\View\ViewInterface`:
…
public function renderSection($sectionName, array $variables = [], $ignoreUnknown = false);
…
public function renderPartial($partialName, $sectionName, array $variables, $ignoreUnknown = false);
…
```
Even the `\TYPO3\CMS\Extbase\Mvc\View\JsonView` is affected by this.
public function renderSection($sectionName, array $variables = [], $ignoreUnknown = false)
{
// No-op: renderSection does not make sense for this view
return '';
}
public function renderPartial($partialName, $sectionName, array $variables, $ignoreUnknown = false)
{
// No-op: renderPartial does not make sense for this view
return '';
}
Suggestion: Use an Extbase specific view interface which only requires the following methods:
- assign
- assignMultiple
- render
Alternatively, use the `\TYPO3\CMS\Core\View\ViewInterface` instead.
Updated by Gerrit Code Review 9 months ago
- Status changed from New to Under Review
Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80329
Updated by Gerrit Code Review 9 months ago
Patch set 2 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80329
Updated by Gerrit Code Review 9 months ago
Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80329