2016-08-03 4 views
1

Я использую typoscript (новый для него) для обработки строки меню для моего сайта, и я хочу использовать значки шрифта рядом с записями меню.Меню Typo3 с шрифтом awesome icons

Это то, что модель выглядит следующим образом:

enter image description here

Это как мое меню выглядит следующим образом:

enter image description here

Теперь мой TypoScript Подчасть для меню выглядит следующим образом:

SUBNAV = HMENU 
    SUBNAV { 
          entryLevel = 0 
          1 = TMENU 
          1 { 
           expAll = 1 
           collapse = active 
           noBlur = 1 

        # Definition per page 
        # NO: default formatting          
           NO = 1 
           NO { 
            wrapItemAndSub = <li >|</li> 
            stdWrap.wrap = <i class="fa fa-plus"></i><span>|</span> 
           } 

        # ACT: User is on this or below this page 
        # Activate this state for this menu 
           ACT < .NO 
           ACT { 
            wrapItemAndSub = <li class="active">|</li> 
           } 
           CUR < .ACT 

        # try to check if submenu to add a arrow icon         

           IFSUB = 1 
           IFSUB{ 
            wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li> 
            linkWrap = |<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span> 
            ATagBeforeWrap = 1 
            stdWrap.wrap = <i class="fa fa-plus"></i><span>|</span> 
           } 
           ACTIFSUB = 1 
           ACTIFSUB < .ACT 
           ACTIFSUB.linkWrap = |<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span> 
           ACTIFSUB.ATagBeforeWrap = 1 

           CURIFSUB = 1 
           CURIFSUB < .ACTIFSUB 

          } 


          2= TMENU 
          2 { 
           expAll = 1 
           collapse = active 
           noBlur = 1 
           wrap = <ul class="treeview-menu">|</ul> 
        # Definition per page 
        # NO: default formatting          
           NO = 1 
           NO { 
            wrapItemAndSub = <li >|</li> 
           } 

        # ACT: User is on this or below this page 
        # Activate this state for this menu 
           ACT < .NO 
           ACT { 
            wrapItemAndSub = <li class="active">|</li> 
           } 
           CUR < .ACT 

        # try to check if submenu to add a arrow icon         

           IFSUB = 1 
           IFSUB{ 
            wrapItemAndSub = <li class="first">|</li>|*|<li >|</li>|*|<li class="last">|</li> 
            linkWrap = |<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span> 
            ATagBeforeWrap = 1 
           } 
           ACTIFSUB = 1 
           ACTIFSUB < .ACT 
           ACTIFSUB.linkWrap = |<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span> 
           ACTIFSUB.ATagBeforeWrap = 1 

           CURIFSUB = 1 
           CURIFSUB < .ACTIFSUB 

          } 


          # Definition for pages on level 3 and lower                     
          # Copy the definitions from level 2 
            3 < .2 
          #  3.wrap = <ul class="treeview-menu">|</ul> 

          # Copy the definitions from level 2 
            4 < .2 
          #  4.wrap = <ul class="treeview-menu">|</ul> 

          # Copy the definitions from level 2 
            5 < .2 
          #  5.wrap = <ul class="treeview-menu">|</ul> 

          # Copy the definitions from level 2 
            6 < .2 
          #  6.wrap = <ul class="treeview-menu">|</ul> 

        } 

Теперь, моя проблема в том, что я не знаю, как связать разные значки (которые я выбрал) с разными меню (те, что находятся на уровне 1). Как вы видите в typoscript, я использовал значок fa, но тот же для каждой записи меню (fa fa-plus). Любые предложения?

+0

Что-то изменилось, основываясь на нижнем sugestion, но я еще не совсем там. Я Изменив NO запись из TypoScript: \t \t \t \t \t \t \t \t \t NO { \t \t \t \t \t \t \t \t \t \t wrapItemAndSub =

  • |
  • \t \t \t \t \t \t \t \t \t # \t stdWrap.wrap = <я класс = "фа фа-плюс"> | \t \t \t \t \t \t \t \t \t \t stdWrap.wrap = <я класс = "фа фа-дома"> | | * | | \t \t \t \t \t \t \t \t \t}, но это работает только для элементов без подменю. Тот же код в разделе IFSUB не работает ... Итак, все еще пытаюсь. – fraktal12

    ответ

    1

    Если у вас есть конечное число пунктов меню, вы можете заменить код:

    wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li> 
    

    С:

    wrapItemAndSub = <li class="first icon1">|</li>|*|<li class="icon2">|</li>|*|<li class="icon3">|</li>|*|<li class="icon4">|</li>|*|<li class="last iconN">|</li> 
    

    Для управления отображением каждого элемента списка.

    Смежные вопросы