• Christian Kuhn's avatar
    [!!!][FEATURE] Avoid BackendTemplateView · 25773e86
    Christian Kuhn authored
    Class BackendTemplateView has been a temporary solution
    to simplify the implementation of the "TsConfig template
    override" feature into smaller patches.
    With ModuleTemplate and general view works being mostly
    done in the backend, BackendTemplateView should be
    removed again.
    The patch removes all usages switching nearly all views
    to BackendViewFactory, which removes the explicit
    dependency to Typo3Fluid ViewInterface since the
    EXT:core ViewInterface is not directly bound to Fluid
    Using BackendViewFactory has the additional advantage
    that templates which don't use ModuleTemplate because
    they're hook usages or some other "sub-view", can now
    be overridden with TsConfig, too.
    Using BackendViewFactory also makes the dependency to
    ServerRequestInterface explicit. The patch thus hands
    $request around at some more places where $request was
    only an indirect dependency before.
    One special @todo area is FormEngine, which is unable
    to have dependency injection (for BackendViewFactory)
    due to its manual constructor arguments. The patch
    falls back to Typo3Fluid TemplateView in those cases.
    The FormEngine API should be adapted with another patch.
    Change-Id: Ie8959dada4dc6fd30e04d87fea6004e74cbe5990
    Resolves: #96904
    Related: #96730
    Related: #96513
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73518
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
    Tested-by: default avatarBenjamin Franzke <bfr@qbus.de>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
    Reviewed-by: default avatarBenjamin Franzke <bfr@qbus.de>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>