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

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

Ответ
 
Опции темы Опции просмотра
Старый 05.03.2007, 14:14   #1
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию Динамическое меню из PHP в TYPO3

Требуется в меню отобразить все подразделы 3-го уровня.
Главная -> Раздел -> Подраздел 1 ... Подраздел N

С Главной и Разделом вопросов нет, а для подразделов есть только 1 страница-шаблон "Подраздел", где подраздел задаётся через GET-параметр, а надо отобразить все подразделы.

Как вы генерите меню в таких случаях?
Заполняете $GLOBALS["TSFE"] данными в PHP или как-то иначе?

Заранее благодарю за помощь
c0d3r вне форума   Ответить с цитированием
Старый 05.03.2007, 14:18   #2
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Не понятнаааа.... (С)
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 05.03.2007, 14:24   #3
c0d3r
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?
c0d3r вне форума   Ответить с цитированием
Старый 05.03.2007, 16:59   #4
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

посмотрите еще itemArrayProcFunc
PhilD вне форума   Ответить с цитированием
Старый 05.03.2007, 17:30   #5
c0d3r
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
c0d3r вне форума   Ответить с цитированием
Старый 05.03.2007, 21:57   #6
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

А PHP то зачем??? Почему нельзя стандартным функционалом HMENU обойтись?
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 05.03.2007, 22:48   #7
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

http://support.typo3.org:8080/jive/t...start=0#302260
PhilD вне форума   Ответить с цитированием
Старый 06.03.2007, 10:44   #8
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Pavel Antonov:
PHP затем, что я не знаю как или HMENU не может конфить данные из сторонней таблицы, для этого конфигурируется через (см. выше)
special = userfunction
special.wrap = ...
special.userFunc = subsections->generate

Что-то не так?

PhilD: спасибо, пошёл читать
там часть меню дёргается из плагина, у меня не плагин

Ну и для полного счастья - в один прекрасный момент всё перестало работать
То есть меню подразделов через special перестало выводиться.
На выходе функции оно есть, через дебуг отображается.
Но на сайте перестало появляться.
Не могу понять, где оно теряется... может быть, есть у кого идеи кроме залазанья в дебри сырцов... буду очень признателен

Последний раз редактировалось c0d3r; 06.03.2007 в 10:58
c0d3r вне форума   Ответить с цитированием
Старый 06.03.2007, 12:25   #9
Дмитрий Самойлов
Продвинутый
 
Регистрация: 28.03.2005
Сообщений: 78
Отправить сообщение для Дмитрий Самойлов с помощью ICQ Отправить сообщение для Дмитрий Самойлов с помощью Skype™
По умолчанию Вот пример

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   #10
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Спасибо, буду разбираться, с ходу не понял.
c0d3r вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


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


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

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