Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Меню категориями (http://forum.typo3.ru/showthread.php?t=6707)

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. В этом случае Вам нужно всего лишь правильно заполнить массив пунктами меню из своего скрипта, а вывод меню на страницу как обычно сконфигурировать при помощи TypoScript.
Второй вариант мне кажется более гибким и простым. Решение этой задачи средствами лишь одного TypoScript'а, если и возможно, то скорее займет больше времени чем выше предложенные решения.


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

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