PDA

Просмотр полной версии : Меню категориями


maaboo
27.08.2008, 23:38
Пришёл к неутешительному для меня выводу (т.к. затрачено уже прилично времени, а сдвигов мало), что придётся сделать меню не на страницах, а на категориях, а на страницах будут только вёрстка оглавлений и новости типа link internal page.

В связи с этим вопрос первый такой, довольно простой для опытных - меню надо делать на основе имеющегося в tt_news (CATMENU) путём кропотливого допиливания или же использовать некий волшебный сниппет, который будет в себе сочетать простоту и функциональность?

maaboo
30.08.2008, 19:09
Может кто-нибудь поделится опытом решения? В найденных топиках как-то маловато информации, по крайней мере для моего уровня знаний.

Заодно интересует такой вопрос. Допустим есть категории А, Б и В. :-) И есть 1, 2 и 3. Вторые являются подкатегориями А, Б и В. Вывод должен осуществляться как типа [A1,A2,A3] так и [A1,Б1,В1]. Это реализуемо стандартными средствами?

IT-шный пример. :-) Предположим, что мы рассматриваем сетевое оборудование. Пусть первыми будут типы [коммутатор, маршрутизатор, беспроводное решение], а вторым - производители, например [cisco, linksys,dlink]. Мы можем выводить как все продукты Cisco, так и все маршрутизаторы перечисленных фирм.

Как насчёт трёх уровней вложенности?

pomotom
30.08.2008, 21:57
ну это не вложенные категории, а мультикатегорийность. там есть специальный режим вывода AND т.е. А AND 1
Что именно вас не устраивает в catmenu, что собрались допиливать?

maaboo
31.08.2008, 15:34
:-) Даже не знаю, просто заранее готовлюсь. На приведённых скриншотах нет ничего похожего на стандартные drop-down menus (как на cssplay.co.uk), а есть нечто вроде breadcrumb. Вот и боюсь что придётся перепиливать breadcrumb-подобные в drop-down.

Andrey Grey
31.08.2008, 16:00
а вы не бойтесь. пилить-то полюбому придется. если не здесь, то в другом месте.
Помните анекдот:
...
собирают из деталей самолет, а выходит танк. Разбирают, союбирают вновь - всеравно танк.
В инструкции же четко написано: после сборки обработать напильником"

Вот так и с TYPO3. После сборки всегда обрабатывайте напильником.

maaboo
03.09.2008, 14:32
Вопрос в том, чтобы напильником именно что обрабатывать, а не делать 80% работы. Иначе придётся искать другой, более удобный способ.

maaboo
03.09.2008, 17:50
В общем вопрос такой. Есть такое хорошее работающее меню:

lib.mainmenu = HMENU
lib.mainmenu.1 = TMENU
lib.mainmenu.1 {
expAll = 1
wrap = <UL>|</UL>
NO.linkWrap = <LI class="tmnu">|</LI>
IFSUB = 1
IFSUB {
wrapItemAndSub = <LI class="tmnu">|<!--<![endif]--></LI>
stdWrap.wrap = | <!--[if IE 7]><!-->
linkWrap = | <!--<![endif]-->
}
}


Но так как я решил перейти на категории, надо бы использовать CATMENU и я написал:

displayCatMenu {
mode = nestedWraps
catmenu_stdWrap.wrap =

.. и вот на этом месте застопорился. Как бы перевести вышеупомянутую сложную конструкцию в CATMENU? Гуру, направьте и укрепите!

maaboo
06.09.2008, 00:04
Задам вопрос несколько с иного бока - почём цена вопроса?

maaboo
09.09.2008, 17:24
В листах подсказывают следующее:

That is going to be very hard to achieve using tt_news's default
nestedWraps category menu as it does not have all the necessary wrap
hooks that are needed in order to create your CSS drop down menu.

You could create your own category menu using the
'userDisplayCatmenuHook' tt_news hook which will implement this
functionality. Have a look at EXT:timtab for an example implementation.

Что делать? Я не похапист ни разу.

reva2
09.09.2008, 23:36
К сожалению, в этой ситуации, скорее всего, никак не обойтись без знания php.
Один из вариантов решения проблемы, действительно хук userDisplayCatmenu.
Второй способ решения проблемы - это воспользоваться HMENU со значением свойства special равным userdefined или userfunction. В этом случае Вам нужно всего лишь правильно заполнить (http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/8/11/#id4080403) массив пунктами меню из своего скрипта, а вывод меню на страницу как обычно сконфигурировать при помощи TypoScript.
Второй вариант мне кажется более гибким и простым. Решение этой задачи средствами лишь одного TypoScript'а, если и возможно, то скорее займет больше времени чем выше предложенные решения.

maaboo
09.09.2008, 23:40
Дык может это....*потрясая бочонком пива* кто-нибудь возьмётся за это дело? :-)