我尝试使用typo3 8.7.13中的fontawesome图标来实现菜单。 我的想法是使用字段tx_fontawesome_icon扩展表页面 - 没问题 - 它可以在页面属性中使用,也可以保存在数据库中。
但我怎么能在typoscript中使用它?
[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]
由于 沃尔克
答案 0 :(得分:0)
我假设您在字段中存储了完整的图标名称。如果您可以跳过前缀,请在换行中构建前缀。
您可以使用.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
,这样你就可以使用icon-name之前和之后的空格。
如果图标只能在一个链接中,则需要将该图标添加到项目文本(页面标题)。
因此,您在开始时使用.stdWrap.wrap
。但是你需要从cObject构建换行(见上文)或使用datawrap:
:
NO {
:
stdWrap.dataWrap = <i class="fas {field:tx_fontawesome} fa-2x"></i>|
:
}
答案 1 :(得分:0)
我的解决方案是:
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> |
}
}
感谢您的帮助! 沃尔克