Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 20.06.2006, 14:25   #1
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию меню в подразделе

На сайте есть куча разделов.
Каждый раздел снабжен шаблоном у которого отмечена галочка в поле 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
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

А чем не устраивает вообще без дополнительных шаблонов, а в главном прописать нечто вроде
Код:
[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
void вне форума   Ответить с цитированием
Старый 21.06.2006, 05:02   #3
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Спасибо - тоже вариант. Получается можно сделать один шаблон на все страницы сайта.

leveluid: -1 не пойдет - например корень подраздела на 6 уровне, а мы вошли в 8 уровень этого подраздела - меню будет строиться на 8 уровне (-1 - как я понял - это сама текущая страница)
leveluid: 0 тоже - так как у шаблона нет галочки в root

Буду пробовать еще вариант с константами - хотя получается разница небольшая - константы будут раскиданы по дереву, а условие (ваш вариант) - в одном шаблоне

Последний раз редактировалось Дылгеров Ц.В.; 21.06.2006 в 05:16
Дылгеров Ц.В. вне форума   Ответить с цитированием
Старый 21.06.2006, 12:54   #4
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Получилось! Делаю один шаблон на весь сайт!
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
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Цитата:
Сообщение от Дылгеров Ц.В.
Получилось! Делаю один шаблон на весь сайт!
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-раздела
млин - оказывается не работает второй уровень в этом случае:
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
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

по моему нашел 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
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Интересно почему они не внедрили до сих пор этот полезный патч? У меня сайт построен на этой эффективной фиче. Перешел на FR с 3.8 и с утра сыпятся звонки что нет подменю второго уровня в разделах портала. Пришлось лезьть на форум, находить этот патч и ставить.
Дылгеров Ц.В. вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:47.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория