codeq / simpletemplate
此简单模板会根据Neos的最佳实践自动解析文件路径。
Requires
- neos/neos: ^3.0
This package is auto-updated.
Last update: 2024-09-08 07:11:16 UTC
README
您再也不需要手动定义Fluid文件的模板路径了。简单模板会根据Neos最佳实践自动设置文件夹路径。
用法
-
使用
composer require codeq/unicodenormalizer
安装 -
您的节点类型将自动使用新的模板,自动映射的示例如下。
-
要在您的Fusion组件中使用自动映射,原型需要基于SimpleTemplate
prototype(Example.Site:Component.Footer) < prototype(CodeQ.SimpleTemplate:Template) { ... }
文件夹和文件命名的最佳实践
节点类型
-
每个节点类型的配置都有自己的文件:
Configuration/NodeTypes.<Document/Content>.<NodeType Name>.yaml
-
每个节点类型都有自己的文件夹用于渲染
Resources/Private/Fusion/<Document/Content>/<NodeType Name>/ <NodeType Name>.fusion <NodeType Name>.html (optional)
-
Fusion原型的名称是
Example.Site:<Document/Content>.<NodeType Name>
子节点类型
一些节点类型仅允许在其他节点类型内部使用,例如,SliderItem总是Slider的子节点。为了更好地分组,您可以使用以下文件夹结构
-
每个子节点类型的配置都有自己的文件:
Configuration/NodeTypes.<Document/Content>.<NodeType Name>.<Sub-NodeType Name>.yaml
-
每个子节点类型都有自己的文件夹用于渲染
Resources/Private/Fusion/<Document/Content>/<NodeType Name>/<Sub-NodeType Name>/ <Sub-NodeType Name>.fusion <Sub-NodeType Name>.html (optional)
-
Fusion原型的名称是
Example.Site:<Document/Content>.<NodeType Name>.<Sub-NodeType Name>
独立Fusion组件
组件是可以重复使用的Fusion(和Fluid)模块,可以在渲染不同节点类型时重复使用。一个组件包含一个Fusion和一个可选的Fluid文件。
-
每个组件在其文件夹内都有一个自己的文件夹
Resources/Private/Fusion/Components/<Component Name>/ <Component Name>.fusion <Component Name>.html (optional)
-
每个Fluid组件必须继承自
prototype(Example.Site:SimpleTemplate)
-
Fusion原型的名称是
Example.Site:Component.<Component Name>
所有这一切背后的主要思想是这个
与Fusion对象(Fusion原型、Fluid模板)相关的所有文件的位置应该始终可以从对象名称中推断出来。例如
Example.Site:Content.Slider -> ../Private/Fusion/Content/Slider/Slider.fusion
-> ../Private/Fusion/Content/Slider/Slider.html
Example.Site:Component.Footer -> ../Private/Fusion/Component/Footer/Footer.fusion
-> ../Private/Fusion/Component/Footer/Footer.html
某些原型应提供可重复使用的功能,因此仅命名为组件。这些不应绑定到特定的节点类型。
如果您需要将一个大型的Fusion原型分解成几个较小的原型,您始终可以使用另一层命名空间分组它们,例如
Example.Site:Content.News -> ../Private/Fusion/Content/News/News.fusion
Example.Site:Content.News.RelatedArticles -> ../Private/Fusion/Content/News/RelatedArticles/RelatedArticles.fusion