为什么';t TYPO3是否有一个核心页面模型?

为什么';t TYPO3是否有一个核心页面模型?,typo3,extbase,typo3-9.x,Typo3,Extbase,Typo3 9.x,当我使用核心PageRepository(TYPO3\CMS\Frontend\Page\PageRepository)函数getPage()时,我得到的是一个数组,而不是像许多其他核心存储库那样的对象。 然后我必须为自己建立一些“魔法”,以便注入类别或页面作者作为对象用于流体模板。 问题是根本不提供页面模型是否是一种“设计决策”?页面存储库不用于Extbase上下文,因此这里没有域建模,因为它也在后端上下文和非常低级别的核心执行中大量使用,而Extbase不可用,或者启动Extbase会有很大

当我使用核心PageRepository(TYPO3\CMS\Frontend\Page\PageRepository)函数getPage()时,我得到的是一个数组,而不是像许多其他核心存储库那样的对象。 然后我必须为自己建立一些“魔法”,以便注入类别页面作者作为对象用于流体模板
问题是根本不提供页面模型是否是一种“设计决策”?

页面存储库不用于Extbase上下文,因此这里没有域建模,因为它也在后端上下文和非常低级别的核心执行中大量使用,而Extbase不可用,或者启动Extbase会有很大的开销。
在扩展中使用Extbase时,您可以简单地将pages表映射到您自己的模型,并以这种方式使用适当的域建模。core没有为页面提供Extbase域模型,好吧。

PageRepository没有在Extbase上下文中使用,因此这里没有域建模,因为它也在后端上下文和非常低级别的core执行中大量使用,Extbase不可用,或者启动Extbase的开销太大。
在扩展中使用Extbase时,您可以简单地将pages表映射到您自己的模型,并以这种方式使用适当的域建模。另外,core没有为页面提供Extbase域模型。

出于各种原因,发布Extbase
页面
域模型没有多大意义:

  • TYPO3本身不需要它
  • 该模型需要非常通用,因为它无法了解您的领域需求
  • 因此,该模型对于基本上任何域需求来说都过于通用,这反过来又要求您添加自己的
    页面
    域模型

  • 是的,对于已发布的
    FrontendUser
    和相关类也可以这样说,人们可能会认为出于同样的原因应该删除这些类。

    出于各种原因,发布Extbase
    页面
    域模型没有多大意义:

  • TYPO3本身不需要它
  • 该模型需要非常通用,因为它无法了解您的领域需求
  • 因此,该模型对于基本上任何域需求来说都过于通用,这反过来又要求您添加自己的
    页面
    域模型

  • 是的,对于已发布的
    FrontendUser
    和相关类也可以这样说,人们可能会认为,出于同样的原因,应该删除这些类。

    您不必从数组中构建对象以在流体中使用

    也可以将数组传递给视图。您可以像使用对象一样使用
    -符号

    例如,在控制器中:

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

    {page.title}
    

    在流体中使用时,不必从阵列中构建对象

    也可以将数组传递给视图。您可以像使用对象一样使用
    -符号

    例如,在控制器中:

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

    {page.title}
    

    谢谢,但我正在查找page.categories[0].pid或page.author.Name您可以在控制器中获取这些值,并将需要的值分配给视图。谢谢,但我正在查找page.categories[0].pid或page.author.Name您可以在控制器中获取这些值,并将需要的值分配给视图。1。我并没有那么深陷其中,相信你的话,无论如何我都希望能有一些解释。我认为发布一个允许$page->getCategories()或$page->getAuthor->getName()1的“通用”模型不是问题。我并没有那么深陷其中,相信你的话,无论如何我都希望能有一些解释。我认为发布一个“通用”模型是没有问题的,它允许$page->getCategories()或$page->getAuthor->getName()您只需将pages表映射到您自己的模型。。。。。输入3 9-10中需要多少字段?我想这只是为了“创建”域模型,并映射MM关系。。。。不知何故,您可以简单地使用打字脚本映射pages表。你需要哪些领域由你自己决定。关系将正确映射,因为页面->类别关系已经有TCA配置。您只需将页面表映射到您自己的模型上即可。。。。。输入3 9-10中需要多少字段?我想这只是为了“创建”域模型,并映射MM关系。。。。不知何故,您可以简单地使用打字脚本映射pages表。你需要哪些领域由你自己决定。关系将正确映射,因为页面->类别关系已经有TCA配置。