我尝试在 typo3 8.7.13 中使用 fontawesome 图标实现菜单。 我的想法是使用字段tx_fontawesome_icon扩展表页面 - 没问题 - 它可以在页面属性中使用,也可以保存在数据库中。
但是我如何在印刷品中使用它呢?
[ts]
lib.mainnav_mobile = HMENU
lib.mainnav_mobile {
wrap = <ul>|</ul>
1 = TMENU
1 {
expAll = 1
NO = 1
NO {
wrapItemAndSub =<li>|</li>
stdWrap.wrap = <i class="fas fa-home fa-2x"></i>|
stdWrap.htmlSpecialChars = 1
ATagTitle.field = title
ATagParams = class="home-link"
}
}
}
[/ts]
谢谢 沃尔克
我假设您将完整的图标名存储在字段中。如果可以跳过前缀,请在换行中构建前缀。
您的尝试可能会.stdWrap
,所以我更喜欢该物业:.before
您可以使用这样的东西(填写菜单定义的其余部分(:
:
NO {
:
before.cObject = TEXT
before.cObject {
field = tx_fontawesome_icon
## have a default icon:
ifEmpty = fa_home
noTrimWrap = |<i class="fas | fa-2x"></i>|
# if you want the icon to be linked too:
typoLink.parameter.field = uid
}
}
使用.noTrimWrap
,以便保留图标名称前后的空格。
如果图标应该只在一个链接内,则需要将图标添加到项目文本(页面标题(中。
因此,您可以在开始时使用.stdWrap.wrap
。 但是您需要从cObject构建包装(见上文(或使用Datawrap
:
NO {
:
stdWrap.dataWrap = <i class="fas {field:tx_fontawesome} fa-2x"></i>|
:
}
对我来说的解决方案是:
lib.mainnav_mobile = HMENU
lib.mainnav_mobile {
wrap = <ul>|</ul>
1 = TMENU
1 {
expAll = 1
NO = 1
NO {
wrapItemAndSub =<li>|</li>
stdWrap.htmlSpecialChars = 1
ATagTitle.field = description // subtitle // title
ATagParams = class="home-link"
ATagBeforeWrap = 1
stdWrap.wrap.cObject = TEXT
stdWrap.wrap.cObject {
field = tx_fontawesome_icon
## have a default icon:
ifEmpty = fa-home
noTrimWrap = |<i class="fas | fa-2x"></i> |
}
}
感谢您的帮助! 沃尔克