0

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

谢谢沃尔克

4

2 回答 2

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,以便您在图标名称之前和之后保留空格。


如果图标应该只在一个链接内,则需要将图标添加到项目文本(页面标题)中。

因此,您可以.stdWrap.wrap在开始时使用。但是您需要从 cObject 构建包装(见上文)或使用数据包装:

:
NO {
    :
    stdWrap.dataWrap = <i class="fas {field:tx_fontawesome} fa-2x"></i>|
    :
}
于 2018-05-14T11:54:23.900 回答
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;|
        }
    }

谢谢您的帮助!沃尔克

于 2018-05-14T14:22:49.180 回答