为什么TYPO3在Core中没有页面模型?

问题描述 投票:1回答:3

当我使用核心PageRepository(TYPO3 \ CMS \ Frontend \ Page \ PageRepository)时,函数getPage(),我得到了返回的[[array而不是object ,就像其他许多核心存储库一样。然后,我必须为自己构建一些“魔术”,以便将inject CategoriesPage Author用作Objects,以便在流体模板。问题是根本不提供页面模型是一种“设计决定”吗?

typo3 extbase typo3-9.x
3个回答
0
投票
PageRepository未在Extbase上下文中使用,因此这里没有Domain建模,因为它在后端上下文中以及在底层内核执行非常低的情况下(在没有Extbase的情况下)使用很多,否则将耗费大量资源启动Extbase。在扩展程序中使用Extbase时,您可以简单地将pages表映射到您自己的模型上,并以这种方式使用适当的Domain建模。核心不提供页面的Extbase域模型afaik。

0
投票
出于各种原因提供一个Extbase Page域模型没有多大意义:

    TYPO3本身不需要它。
  1. 该模型必须非常通用,因为它不了解您的域要求。
  2. 由于这个原因,对于任何领域需求,该模型都是
  3. 太通用的,这反过来又需要您添加自己的Page领域模型。
是的,关于发货的FrontendUser和相关类别也可以这样说,而且有人可能会出于同样的原因而认为应该放弃这些。

0
投票
您无需在数组外构建对象即可在Fluid中使用。

您还可以只将数组传递给视图。您可以像使用对象一样使用.表示法。

例如在控制器中:

$this->view->assign('page', $page);

流体:

{page.title}

© www.soinside.com 2019 - 2024. All rights reserved.