TYPO3 создает ярлык меню, ссылающийся на первое дочернее меню, если оно существует.

У меня под TYPO3 возникает следующая проблема:

Я хочу привязать к первому дочернему элементу подменю, если он есть на уровне 0 меню.

Например, щелчок по продуктам должен приводить нас к отверткам, а не к странице продуктов, которая есть и должна быть пустой.

-home (id=1)
-products (id=2)
--screwdrivers (id=3)
--cables (id=4)
-about (id=5)
-impress (id=6)

У меня есть простое трехуровневое меню, созданное Typoscript:

temp.menu_1 = HMENU
temp.menu_1 {
  1 = TMENU
  1 {
    #expAll =1
    wrap = <ul id="nav1">|</ul>
    noBlur = 1


    NO = 1
    NO {
      wrapItemAndSub = <li>|</li>
      stdWrap.htmlSpecialChars = 1
      ATagTitle.field = title
    }
    ACT <.NO
    ACT {
      wrapItemAndSub = <li id="nav1act">|</li>
    }

  }

  2 < .1
  2 {
    wrap = <ul id="nav2">|</ul>
    ACT.wrapItemAndSub = <li id="nav2act">|</li>
  }

  3 < .2
  3 {
    wrap = <ul id="nav3">|</ul>
    ACT.wrapItemAndSub = <li id="nav3act">|</li>
  }
}

Я уже нашел хороший Typoscript, динамически заменяющий идентификатор, но не понимаю, как его объединить, или, я думаю, есть гораздо более простое решение.

образец взят отсюда: (только на немецком языке) http://www.auxnet.de/blog/blog-post/2011/01/15/typo3-einzelnen-menue-link-durch-anderen-link-ersetzen.html

Typoscript: замена id в меню:

lib.myFooterNav = HMENU
lib.myFooterNav.special = directory
lib.myFooterNav.special.value = 44
lib.myFooterNav.wrap = <div class="hlist"><ul>|</ul></div>
lib.myFooterNav.1 = TMENU
lib.myFooterNav.1 {
  NO.allWrap = <li>|</li>
  NO.doNotLinkIt.stdWrap.override = 1
  NO.doNotLinkIt.stdWrap.if {
    equals.field = uid
    value = 48
  }
  NO.before.stdWrap.cObject = TEXT
  NO.before.stdWrap.cObject {
   data = getIndpEnv:REQUEST_URI
   wrap = !!<=|?===>
  }
  NO.before.stdWrap.if {
    equals.field = uid
    value = 48
  }
  NO.after = </a>
  NO.after.stdWrap.if {
    equals.field = uid
    value = 48
  }
  ACT.allWrap = <li>|</li>
  ACT.ATagParams = class="active"
  ACT = 1
}

person WhileXX    schedule 18.11.2012    source источник


Ответы (1)


Я думаю, вы можете просто сделать страницу продукта ярлыком страницы с отверткой и оставить опечатку нетронутой.

person Gigamegs    schedule 18.11.2012
comment
Привет, как уже догадались, есть более простое решение. Спасибо за совет - person WhileXX; 18.11.2012