我是 Fluid 扩展套件(flux、fluidcontent、fluidpages 等)的作者,当然希望帮助您了解如何使用 FluidContent 来制作 FCE。它确实没有人们担心的那么先进。至少,它比上面的例子紧凑得多。以下内容在 FluidContent 中实现了与示例相同的结果:
TypoScript(静态加载:css_styled_content、fluid_content)
plugin.tx_fed.fce.yourname {
templateRootPath = fileadmin/Templates # if you don't want to use an extension (1)
# partial and layout root paths not defined (2)
}
关于(1),你真的、真的应该。使用扩展程序可以将用户上传的媒体等与网站内容分开。如果您这样做,只需使用 EXT:... 私有资源文件夹的路径即可。关于 (2),只有当您确实希望使用部分时,这些路径才是必需的。
然后,模板文件本身(TS中添加文件所在路径时自动检测):
{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
<flux:flexform id="columns" label="Columns" icon="path/to/iconfile.jpg">
<flux:flexform.grid>
<flux:flexform.grid.row>
<flux:flexform.grid.column>
<flux:flexform.content name="left" label="Left content" />
</flux:flexform.grid.column>
<flux:flexform.grid.column>
<flux:flexform.content name="right" label="Right content" />
</flux:flexform.grid.column>
</flux:flexform.grid.row>
</flux:flexform.grid>
</flux:flexform>
</f:section>
<f:section name="Preview">
<flux:widget.grid />
</f:section>
<f:section name="Main">
<div class="row">
<div class="span6">
<flux:flexform.renderContent area="left" />
</div>
<div class="span6">
<flux:flexform.renderContent area="right" />
</div>
</div>
</f:section>
正如您所看到的,您可以完全自由地添加任何您想要的 HTML、使用任何 ViewHelpers(甚至可以渲染 TS 对象,如果您喜欢的话)。要添加其他内容元素,只需添加新的模板文件 - 它们将被自动识别。
但它的工作方式与 IRRE 不同(你可以also使用 Flux 字段实现 - 如果您希望观看演示,请告诉我):它将允许您使用 TYPO3 中的本机拖放功能将您的子内容元素放入实际的内容容器中 - 就像您以前所做的那样与电视。
因此,流动内容可能是最接近电视的内容。
关于 Flux 的杀伤力,我想让您了解一下它的实际性能:
- 缓存读取 TS 以了解路径
- 检测到的模板的缓存列表
- Fluid 缓存到原生 PHP,Flux 仅使用 Fluid 来存储配置(这意味着它始终是原生 PHP)
- Flux 本身确实注册了一个钩子订阅者,它对保存的内容做出反应,这确实减慢了后端速度(不明显)
- Flux 本身不会在 FE 上产生负载,但有一个例外:在未缓存的插件中(FluidContent 已缓存!)Flux 可能会调用本机 PHP 缓存代码来读取配置。
- FluidContent 由一个极其简单的控制器组成;输出已完全缓存。
- 您可能想要添加 VHS ViewHelper 集合 - 它本身创建绝对零负载:它只使用您使用其 ViewHelper 的资源。它包含一堆 ViewHelpers 我相信你会发现有用的。
一开始它可能看起来让人不知所措,但我向您保证,与 pibase、FlexForm XML、TS 或本机 Extbase 插件相比,需要了解和记住的东西更少。如果您想要更多的安全网,我强烈建议您在编辑器中使用 XSD 模式 - 这可以让您自动完成特殊的<flux:....>
标签和其他。
但是:它需要您了解一点有关 Fluid 逻辑的知识:布局和部分是什么(您很可能在某些时候想要使用它们)以及如何使用特殊标签和引用变量(这将在其他用例 - 但不是手头的用例;它只需要简单的 ViewHelper 标签)。
我希望这有帮助。我减少了您对 Flux 杀伤力过大、需要学习的恐惧;)
Cheers,
克劳斯又名。无名编码者