【问题标题】:Is it possible to use the same view for two diffrent actions?是否可以对两个不同的操作使用相同的视图?
【发布时间】:2013-10-31 09:15:27
【问题描述】:

我试图与来自同一个控制器的两个动作共享一个视图,我很挣扎。有没有可能?

【问题讨论】:

  • 你试过了吗?结果如何?请包含代码的相关部分。

标签: fluid typo3-flow


【解决方案1】:

默认情况下,Fluid 需要 Resources/Private/Templates/ControllerName/ActionName.html 中的模板

所以每个动作都需要自己的模板。如果我理解正确,您希望两个不同的国家使用相同的流体模板。您可以通过两种不同的方式实现此目的:

1。使用部分:

只需将动作 A 的孔 Fluid-Template 放入一个部分,然后在模板中为动作 A 和动作 B 渲染该部分:

<f:render partial="YourPartial" />

所以你有两个模板,但都渲染相同的部分。


2。将动作B的模板设置为动作A的模板:

您可以使用以下命令覆盖操作的默认模板:

$this->view->setTemplatePathAndFilename($templatePathAndFilename);

您需要提供模板文件的完整路径。然后 Fluid 将使用此模板而不是默认模板。

注意:第二个建议是在 TYPO3 CMS 中工作,但由于 extbase 是从流程向后移植的,因此也应该可以在流程中执行此操作。

【讨论】:

  • 第二种解决方案适用于 Flow 框架 3.0 $this-&gt;view-&gt;setTemplatePathAndFilename('resource://My.Package/Private/Templates/MyController/Index.html');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多