Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
05.03.2007, 14:14 | #1 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Динамическое меню из PHP в TYPO3
Требуется в меню отобразить все подразделы 3-го уровня.
Главная -> Раздел -> Подраздел 1 ... Подраздел N С Главной и Разделом вопросов нет, а для подразделов есть только 1 страница-шаблон "Подраздел", где подраздел задаётся через GET-параметр, а надо отобразить все подразделы. Как вы генерите меню в таких случаях? Заполняете $GLOBALS["TSFE"] данными в PHP или как-то иначе? Заранее благодарю за помощь |
05.03.2007, 14:18 | #2 |
Senior Member
|
Не понятнаааа.... (С)
|
05.03.2007, 14:24 | #3 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
1. В TYPO3 у меня только 1 страница-подраздел (шаблон), которая обрабатывает много подразделов по их id (подразделы плавающие, берутся из другой БД). То есть при генерации HMENU TS ничего о них не знает, пока ему не сунуть их список из PHP. Вопрос - как правильно совать ))
Например, вот так будет верно? temp.page_menu = HMENU temp.page_menu { special = userfunction special.wrap = ... special.userFunc = subsections->generate ... } 2. Возможно ли что-то аналогичное с помощью USER? |
05.03.2007, 16:59 | #4 |
Senior Member
|
посмотрите еще itemArrayProcFunc
|
05.03.2007, 17:30 | #5 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Спасибо... время читать TSref... всё откладываю.... А можно привести пример использования, а то с ходу мне сложно писать на TS правильно
2. И ещё вопрос по вышеприведённому: temp.page_menu = HMENU temp.page_menu { special = userfunction special.wrap = ... special.userFunc = subsections->generate ... } В классе php имеем: function generate($aMenu, $aConf) { ... } У неё есть два параметра, но в TS-setup на этот счёт тишина. Вопрос экспертам: где указываются real-time параметры в эту функцию? Где-то в PHP искать или возможно в TS? Спасибо. Последний раз редактировалось c0d3r; 05.03.2007 в 18:17 |
05.03.2007, 21:57 | #6 |
Senior Member
|
А PHP то зачем??? Почему нельзя стандартным функционалом HMENU обойтись?
|
06.03.2007, 12:25 | #7 |
Продвинутый
|
Вот пример
temp.extraMenu = HMENU
temp.extraMenu { special = userdefined special.file = fileadmin/scripts/menu.php # дальше идут собственные параметры, основываясь на которых выводится меню special.pid = {$plugin.tx_ladymanager_pi1.listPid} special.singlePid = {$plugin.tx_ladymanager_pi1.singlePid} special.townStore = {$plugin.tx_ladymanager_pi1.pid} 1 { wrap = <UL>|</UL> NO.allWrap = <LI>|</LI> CUR = 1 CUR.allWrap = <LI>|</LI> CUR.linkWrap = <b>|</b> ACT = 1 ACT.allWrap = <LI>|</LI> } } fileadmin/scripts/menu.php <?php $townPid = intval($conf['pid']); $singlePid = intval($conf['singlePid']); $val = t3lib_div::_GP('tx_ladymanager_pi1'); $actTown = intval($val['city']); $townStore = intval($conf['townStore']); // в массиве с именем menuItemsArray должны хранится пункты меню $menuItemsArray = array(); $selectSetup = Array( 'pidInList'=>$townStore, 'orderBy'=>'sorting', ); $res = $GLOBALS['TSFE']->cObj->exec_getQuery('tx_ladymanager_city', $selectSetup); while( $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res) ) { if( is_array($row) ) { $menuItemsArray[] = array( 'title'=>$row['name'], '_OVERRIDE_HREF'=>$this->parent_cObj->getTypoLink_URL( $townPid, array( 'tx_ladymanager_pi1[city]' => $row['uid'] ) ), 'ITEM_STATE' => ($actTown==$row['uid'] && ($GLOBALS['TSFE']->id == $townPid || $GLOBALS['TSFE']->id == $singlePid) ) ? 'CUR' : '', ); } } ?> |
06.03.2007, 15:49 | #8 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Спасибо, буду разбираться, с ходу не понял.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
typo3 и PHP 5 | dapissarenko | Общие вопросы | 1 | 16.11.2006 19:56 |
18-й номер PHP Inside пишет о TYPO3 | Valery Romanchev | TYPO3: маркетинг и PR | 0 | 20.07.2006 17:22 |
Динамическое меню и рисунок | Мельничук Сергей | Общие вопросы | 1 | 17.10.2005 12:55 |
TYPO3, PHP разработчик в Москве (full time) | Valery Romanchev | Работа и заказы / Job Offer and Request | 0 | 07.07.2005 01:26 |
MySQL & TYPO3 +PHP! Pomogite!!!!! | Artem Boldyrev | Общие вопросы | 2 | 30.06.2005 16:45 |