справка по навигации по содержимому

Я работаю над навигацией по контенту в typoscript. Эти требования должны быть выполнены:

  • показать текущий узел вверху -> готово!
  • показать все дочерние узлы текущей страницы -> готово!
  • если нет дочерних узлов, показать последний уровень дерева с активной текущей страницей - еще не сделано!

По последнему пункту мне нужна помощь. Я пытался что-то сделать с [treelevel = 2] для управления навигацией на последнем уровне дерева, но ничего не вышло. Не знаю почему, но у меня не работает древовидное условие. Другая проблема в том, что иногда последний уровень дерева находится на 2-м уровне, иногда на 3-м...

Любые идеи?

Пока это опечатка:

temp.leftCol = COA
temp.leftCol {

   5 = HTML
   5.value = <ul class="contentNav">

   ### show current page on top
   10 = TEXT
   10.typolink {
      parameter.data = TSFE:id
   }

   10 {
      wrap = <li class="title">|</li>
      data = leveltitle:2
      if {
         isTrue.numRows {
            table = pages
         }
      }
   }

   ### content navigation: show subpages
   20 = HMENU
   20.entryLevel = -1

   20.1 = TMENU
   20.1 {
      noBlur = 1
      NO = 1
      CUR = 1
      expAll = 1
   }

   20.1.NO {
      wrapItemAndSub = <li>|</li>
      stdWrap.wrap = |
      allStdWrap.insertData = 1
   }


   20.1.CUR {
      wrapItemAndSub = <li class="on">|</li>
      stdWrap.wrap = |
      allStdWrap.insertData = 1
   }

   20.1.wrap = |</ul>
}

person Thomas    schedule 20.12.2010    source источник
comment
Знаете ли вы о IFSUB, ACTIFSUB и CURIFSUB состояния? Мне трудно поверить, что treeLevel условия помогут вам здесь :-S   -  person jensgram    schedule 20.12.2010
comment
Я пытаюсь сказать: возможно, вы можете заменить текущий 20.1.CUR на 20.1.CURIFSUB, а затем добавить новый 20.1.CUR для обработки последнего случая.   -  person jensgram    schedule 20.12.2010
comment
Я знаю об этих состояниях. Но я думаю, что мне нужно работать с атрибутом entryLevel, чтобы изменить внешний вид навигации на последнем уровне дерева, или я ошибаюсь? Не знаю, как это сделать с состояниями IFSUB, ACTIFSUB и CURIFSUB...   -  person Thomas    schedule 20.12.2010
comment
Я уверен, что неправильно понял вопрос :(   -  person jensgram    schedule 20.12.2010


Ответы (1)


Что именно вы имеете в виду?

если нет дочерних узлов, показать последний уровень дерева с активной текущей страницей - еще не сделано!

Насколько я понимаю, это может быть и то, и другое.

1) Предположим, что на уровне 1 есть 10 страниц, и каждая из этих страниц, кроме страницы 7, имеет по 3 подстраницы. И допустим, страница 7 не имеет подстраниц. Затем, когда я перехожу на страницу 7, она будет отображать страницу 7 как активную, но отображать подстраницы со страницы 6 («показать последний уровень дерева») под ней.

or

2) Когда пользователь переходит на страницу 7, он отображает страницу 7 как активную и подстраницы для любой страницы, на которой пользователь был прямо перед этим? Так что, например, если я сначала перейду на страницу 2, а затем перейду на страницу 7, я увижу страницу 7 как активную и подстраницы для страницы 2.

person Cray    schedule 06.01.2011
comment
Мой вопрос недостаточно ясен, извините за это. Пример 1 очень близок, но мне нужно проще: если вы нажмете на страницу с подстраницами, она покажет страницу как активную над и под подстраницами. если вы переходите на страницу без подстраниц, она остается на текущем уровне дерева и показывает страницу как активную. Я сделал временное решение, но с абсолютными путями, что не является хорошим решением, но это то, что мне нужно. давайте посмотрим на навигацию слева: pksbb.ch/index.php?id =36 (нажмите на пункт «Zusätzlicher Einkauf», и вы поймете, что я имею в виду. спасибо. - person Thomas; 07.01.2011