sitegeist / fluid-tagbuilder
用于提高复杂流体模板可读性的html5标签ViewHelpers
1.0.1
2024-08-28 12:10 UTC
Requires
- php: ^8.2
- typo3fluid/fluid: <=2.14.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-28 12:13:18 UTC
README
这是一个尝试使具有大量动态组合HTML标签的复杂Fluid模板更易读的尝试。
免责声明:这不是万能解决方案,仅在适当的情况下使用,绝对不能用于模板中的所有标签!
之前
<button class="{class} {f:if(condition: isBold, then: 'bold')} {f:if(condition: isActive, then: 'active')}" data-items="{data.items}" data-count="{data.count}" {f:if(condition: title, then: 'title="{title}"')} ><f:spaceless> More content </f:spaceless></button>
之后
<ft:button class="{class}" :classList="{ 'bold': isBold, 'active': isActive }" :dataList="{data}" :spaceless="1" title="{title}" > More content </ft:button>
入门
通过composer安装库 链接
composer require sitegeist/fluid-tagbuilder
... 然后在模板中使用它
<html xmlns:ft="http://typo3.org/ns/Sitegeist/FluidTagbuilder/ViewHelpers" data-namespace-typo3-fluid="true">
特性
- 支持HTML规范中当前定义的所有标签(见下文)
- 支持所有当前定义的
boolean
HTML5属性- 如果
true
:添加required="required"
属性 - 如果
false
:不添加属性
- 如果
- 移除空标签属性
- 从
:classList="{...}"
生成优化的类属性 - 从
:dataList="{...}"
生成数据属性 - 从
:attributeList="{...}"
生成额外的标签属性 - 使用
:spaceless="1"
缩短空格
支持的HTML标签
此扩展包括以下HTML5元素的简写 链接
a
abbr
address
area
article
aside
audio
(带有autplay
、controls
、loop
、muted
作为额外的布尔属性)b
base
bdi
bdo
blockquote
body
br
button
(带有disabled
、formnovalidate
作为额外的布尔属性)canvas
caption
cite
code
col
colgroup
data
datalist
dd
del
details
(带有open
作为额外的布尔属性)dfn
dialog
(带有open
作为额外的布尔属性)div
dl
dt
em
embed
fieldset
(带有disabled
作为额外的布尔属性)figcaption
figure
footer
form
(带有novalidate
作为额外的布尔属性)h1
h2
h3
h4
h5
h6
head
header
hgroup
hr
html
i
iframe
(带有allowfullscreen
作为额外的布尔属性)img
(带有ismap
作为额外的布尔属性)input
(带有checked
、disabled
、formnovalidate
、multiple
、readonly
、required
作为额外的布尔属性)ins
kbd
label
legend
li
link
(带有disabled
作为额外的布尔属性)main
map
mark
math
menu
meta
meter
nav
noscript
object
ol
(带有reversed
作为额外的布尔属性)optgroup
(带有disabled
作为额外的布尔属性)option
(带有disabled
、selected
作为额外的布尔属性)output
p
param
picture
pre
progress
q
rp
rt
ruby
s
samp
script
(带async
、defer
、nomodule
作为附加的布尔属性)章节
select
(带disabled
、multiple
、required
作为附加的布尔属性)插槽
小号
源
span
粗体
样式
下标
摘要
上标
svg
表格
表格体
表格单元格
模板
textarea
(带disabled
、readonly
、required
作为附加的布尔属性)表格页脚
表头单元格
表格头部
时间
标题
表格行
track
(带default
作为附加的布尔属性)下划线
无序列表
变量
video
(带autoplay
、controls
、loop
、muted
、playsinline
作为附加的布尔属性)换行
所有列出的元素都支持以下布尔属性
自动聚焦
隐藏
项作用域