菜单与typo3中的fontawesome图标

时间:2018-05-14 09:22:49

标签: menu typo3 typoscript typo3-8.7.x

我尝试使用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]

由于 沃尔克

2 个答案:

答案 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>&nbsp;|
        }
    }

感谢您的帮助! 沃尔克