Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
20.06.2006, 14:25 | #1 |
Senior Member
|
меню в подразделе
На сайте есть куча разделов.
Каждый раздел снабжен шаблоном у которого отмечена галочка в поле root. Этот шаблон имеет пустые поля setup и constants. Зато включает один универсальный шаблон, находящийся в системной папке. То есть процедура создания раздела проста - создаю пустой шаблон, ставлю галочку в поле root и поля clear constants, clear setup и инклудю универсальный шаблон из системной папки. В итоге получаем при заходе в страницу раздела новое меню (так как шаблон видит root раздела благодаря галочке и строит меню для раздела, а не для главного корня сайта). Возникает проблема - indexed search не видит эти разделы и надо прописывать все разделы в строке pidList для нормального поиска по всем разделам. Это становится муторным если количество разделов превышает 20. У меня как раз такая ситуация. Поэтому возникла задача - написать шаблон, опять же универсальный, но который не является root-овым. Этот шаблон должен строить меню считая корнем именно корень подраздела. Есть заготовка - простите за примитив page = PAGE page.20 = HMENU page.20.special = directory page.20.special.value.value = (uid - раздела) Задача как пометить в special.value код раздела, если мы находимся внутри раздела. Или может какие другие решения? Зашел на http://t3chat.think-open.org/irc.cgi - там сказали надо использовать conditions - так и ничего не понял. Еще сказали можно написать root-template и инклудить его - но ведь не сработает. Очевидно не поняли моего английского. В конце концов посоветовали прочитать Modern Template - что совсем смутило меня. Beforehand gratefull for answers. Последний раз редактировалось Дылгеров Ц.В.; 20.06.2006 в 14:32 |
20.06.2006, 17:34 | #2 |
Senior Member
|
А чем не устраивает вообще без дополнительных шаблонов, а в главном прописать нечто вроде
Код:
[PIDupinRootline = 117,118] lib.subMenu.entryLevel = 3 [else] lib.subMenu.entryLevel = 1 [end] А загнать в special.value данные, по-видимому, можно через yourmenu.special.value.data = leveluid:-1 или как-то наподобие...
__________________
TYPO3 FAQ Последний раз редактировалось void; 20.06.2006 в 17:37 |
21.06.2006, 05:02 | #3 |
Senior Member
|
Спасибо - тоже вариант. Получается можно сделать один шаблон на все страницы сайта.
leveluid: -1 не пойдет - например корень подраздела на 6 уровне, а мы вошли в 8 уровень этого подраздела - меню будет строиться на 8 уровне (-1 - как я понял - это сама текущая страница) leveluid: 0 тоже - так как у шаблона нет галочки в root Буду пробовать еще вариант с константами - хотя получается разница небольшая - константы будут раскиданы по дереву, а условие (ваш вариант) - в одном шаблоне Последний раз редактировалось Дылгеров Ц.В.; 21.06.2006 в 05:16 |
21.06.2006, 12:54 | #4 |
Senior Member
|
Получилось! Делаю один шаблон на весь сайт!
page = PAGE page.20 = HMENU page.20.special = directory page.20.special.value = {$localuid} page.20.1 = TMENU page.20.1.NO = <div>|</div> page.20.1.ACT = <div>|</div> а местах раздела ставлю одну строку в константах localuid = uid-раздела |
23.06.2006, 07:27 | #5 | |
Senior Member
|
Цитата:
page = PAGE page.20 = HMENU page.20.special = directory page.20.special.value = {$localuid} page.20.1 = TMENU page.20.1.NO = <div>|</div> page.20.1.ACT = <div>|</div> page.20.2 = TMENU page.20.2.NO = <div>|</div> page.20.2.ACT = <div>|</div> .1 - работает на любом уровне, а .2 - только на втором уровне root. рекомендуют в http://lists.netfielders.de/pipermai...ly/009046.html lib.leftmenu =HMENU lib.leftmenu.entryLevel = 1 lib.leftmenu.1 =TMENU lib.leftmenu.1 { NO.allWrap =<div class="leftnav">|</div> ACT =1 ACT.allWrap =<div class="leftnav_act">|</div> } lib.leftmenu.2 =TMENU lib.leftmenu.2 { NO.allWrap =<div class="leftnav1">|</div> ACT =1 ACT.allWrap =<div class="leftnav1">|</div> } - но здесь надо шаблон инклудить - глобального шаблона не получится - но в принципе это не хлопотно - разница не большая но и в этом случает второй уровень не срабатывает если например подкорень на 5 уровне Будем копать... |
|
23.06.2006, 07:32 | #6 |
Senior Member
|
по моему нашел http://lists.netfielders.de/pipermai...er/004512.html
что то тут фрицы бачут непонашему однако суть ясна: "Doch kein Bug ... sondern ein "non-feature" - кароче это не баг, а не поддерживается - жаль в tsref не прописали. Будем пробовать http://www.libelle.at/kraftb/sp_dir_expand.patch Не работает ссылка. Читаем http://bugs.typo3.org/view.php?id=633 - там два патча - какой выбрать? Выбираем второй - для Typo3-3.8. Смотрим diff отчет - к сожалению строки не совпадают - непонятно почему. Руками вношу и удаляю строки в два файла. Ура - шаблоны работают! Последний раз редактировалось Дылгеров Ц.В.; 23.06.2006 в 11:22 |
29.06.2007, 05:43 | #7 |
Senior Member
|
Интересно почему они не внедрили до сих пор этот полезный патч? У меня сайт построен на этой эффективной фиче. Перешел на FR с 3.8 и с утра сыпятся звонки что нет подменю второго уровня в разделах портала. Пришлось лезьть на форум, находить этот патч и ставить.
|