Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 35 Ответов
  • 14475 Просмотров
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
J1.6/1.7/2.5 mod_menu >= Mega menu
« : 26.01.2012, 20:06:39 »
Парни, пишу свой шаблон с нуля... И, надумал сделать из стандартного mod_menu (Joomla 1.7), не просто выпадающее меню, а Mega Menu. Для этого, за основу, взял CSS3 Mega Drop Down Menu - http://codecanyon.net/item/css3-mega-drop-down-menu/126387:
Стуктура папок:
  • css
    • csshover3.htc
    img
    index.html
    menu.css

Вот код страницы index.html:
Спойлер
[свернуть]

Это, код CSS:
Спойлер
[свернуть]

Еще, есть какой-то файл csshover3.htc в папке css:
Спойлер
[свернуть]
Но, как зачастую бывает, своих знаний, как всегда не хватает... :(

Поэтому, прошу помощи у вас, в решении поставленой самому себе задачи...

Что есть:
  • В папке "мой шаблон", создал папку "html", в нее, скопировал папку mod_menu.
  • Файл "default.php" переименовал в "mydefault.php", для того, чтобы была возможность указать альтернативный макет для конкретного модуля в Менеджер модулей: Модуль «Меню».
  • В файле "mydefault.php" (на строке ~66)
       
Код: php
if ($item->deeper) {
echo '<ul>';
}

после:
      
Код: php
echo '<ul>';

дописал:
       
Код: php
echo '<div class="dropdown_3columns">';
  echo '<div class="col_3">';

И... Загруз... :(

В идеале, хочу сделать вот такое:
  • при наведении на все пункты верхнего уровня, меню (кроме "Мир сегодня"), отображалось так:
  • при наведении на пункт "Мир сегодня", отображалось так:
  • при наведении (к примеру) на пункт меню "Азия", отображалось так:

Картинки содраны с моего сайта, который пробовал делать на The World News II (Gavic фреймфорк), но, решил отказаться от использования разных фреймворков...

Можно конечно не парится, и взять какой-нить шаровой модуль типа Ice Mega Menu или подобные, но, прежде чем полезть в дебри переделки стандартного mod_menu, я перепробовал практически все Mega Menu, которые смог нарыть в инете для Joomla 1.7, но... так или иначе, для меня, ни один (кроме JA Mega Menu), не смог решить поставленой задачи с отображением той структуры меню, которую я обрисовал выше в картинках... Ja Mega Menu - нигде, кроме шаблонов на Т3 фреймворке, не найдешь, с Ice Mega Menu (а особенно с тех. поддержкой: http://www.icetheme.com/forums/IceMegaMenu/39805-Error.html) - проблемы...

Дело в том, что мне, на одной странице, нужно одновременно использовать три модуля горизонтальных меню... Проблема в том, что все они так или иначе, используют JavaScript (в том числе и Ice Mega Menu)... А если поставить 3-и модуля Ice Mega Menu одновременно, то, самое первое (верхнее горизонтальное меню) работает, а остальные 2-а - нет, т. к., не видят JavaScript...

В общем, буду благодарен за любую помощь в переделке mod_menu Joomla 1.7 в Mega Menu

Заранее благодарю за ответы
« Последнее редактирование: 20.02.2012, 04:01:23 от Dgikar »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: J1.7 mod_menu --> Mega menu
« Ответ #1 : 26.01.2012, 20:51:20 »
Я бы проще сделал намного. Меню выпадающее в index.php шаблона прям пишете. Или, как вариант, mod_custom (в этом случае включаете плагин "загрузка позиции модулей"). И уже там бы делал первоуровневое меню. Сейчас с разметкой всё напутано. Например <li> идут сразу после <div>.
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #2 : 26.01.2012, 20:57:37 »
Я бы проще сделал намного. Меню выпадающее в index.php шаблона прям пишете. Или, как вариант, mod_custom (в этом случае включаете плагин "загрузка позиции модулей"). И уже там бы делал первоуровневое меню. Сейчас с разметкой всё напутано. Например <li> идут сразу после <div>.
Да, эт я понимаю, но не могу понять, в какой последовательности в mydefault.php указывать классы, в
   
Код: php
if ($item->deeper) {
echo '<ul>';
  echo '<div class="dropdown_3columns">';
  echo '<div class="col_3">';
}

Да, можно канешно в кустом модуль загнать это все, но, тогда, при добавлении нового пункта меню, нужно будет в том же кустоме дописывать и ссылку н новый пункт меню, а у меня, сайт многоязычный...

Хотелось бы, все же решить через правку mydefault.php
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: J1.7 mod_menu --> Mega menu
« Ответ #3 : 26.01.2012, 21:04:21 »
Так просто не получится одним оверрайдом. Вы хотите модули выводить внутри модуля меню. Это надо весь mod_menu переписывать а не только его шаблон. По-поводу последовательности, разберитесь с условиями, например if ($item->deeper) { = "если элемент является родителем подменю. В коде, что привели в любой последовательности будет ошибка. После <ul> обязателен <li>.
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #4 : 28.01.2012, 23:38:13 »
Люди, ну не уж-то никто не знает... А!?
Уже четвертые сутки над этим меню мозги себе парю....
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: J1.7 mod_menu --> Mega menu
« Ответ #5 : 29.01.2012, 12:37:15 »
А это меню Вам не подойдет ? http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/11578

Или обязательно хочется свое ?  ^-^
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #6 : 29.01.2012, 14:47:39 »
А это меню Вам не подойдет ? http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/11578

Или обязательно хочется свое ?  ^-^
Вы наверное будете смеяться, но, почему-то, я не смог установить Maxi Menu... Уже не помню, какую выдавало ошибку, но, что-то было... Поэтому (из-за того, что со сторонними модулями возникали проблемы + не охота использовать JavaScrip), решил писать свое...
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: J1.7 mod_menu --> Mega menu
« Ответ #7 : 29.01.2012, 23:19:22 »
Цитировать
не смог установить Maxi Menu... Уже не помню, какую выдавало ошибку, но, что-то было...
Сейчас попробовал установить это меню . Все работает без проблем .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #8 : 29.01.2012, 23:27:24 »
Сейчас попробовал установить это меню . Все работает без проблем .
А если 3-и модуля... Можете попробовать, пожалуйста... Просто у меня хостинг закончился... Сайт не работает :(
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: J1.7 mod_menu --> Mega menu
« Ответ #9 : 29.01.2012, 23:53:28 »
Цитировать
Просто у меня хостинг закончился... Сайт не работает
Локальный сервер поставте и эксперементируйте себе на здоровье . Денвер или openserver .
Два экземпляра поставил , все работает . Значит и три будет работать .
« Последнее редактирование: 30.01.2012, 00:30:17 от midav »
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Andrey_Li

  • Захожу иногда
  • 73
  • 1 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #10 : 30.01.2012, 15:08:13 »
Парни, пишу свой шаблон с нуля... И, надумал сделать из стандартного mod_menu (Joomla 1.7), не просто выпадающее меню, а Mega Menu. Для этого, за основу, взял CSS3 Mega Drop Down Menu

Задался аналогичной задачей.

Можно узнать какие успехи?
На чем остановились?
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #11 : 30.01.2012, 16:28:39 »
... Можно узнать какие успехи?
На чем остановились?
Никаких... :(

А у Вас есть какие-то наработки?
*

Andrey_Li

  • Захожу иногда
  • 73
  • 1 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #12 : 30.01.2012, 17:14:23 »
Никаких... :(

А у Вас есть какие-то наработки?
Тоже пока ни каких...
Но еще в решении...
- Или как обычно делал - опять переделаю клубный шаблон с уже установленным меню  (Я не профи, потому для своего любительства простительно).
Но от этих Фраймворков устал... очень тяжело переделывать под себя и особенно "облегчить" шаблон, чего собственно и добиваюсь
- Установлю в виде отдельного модуля, но пока толкового не нашел и сильно они уступают модулям от фраймворков
- найду в виде дополнительного модуля к шаблону - веррайдом шаблона меню. в templates\имя_шаблона\html\mod_menu\

Пока просматриваю шаблоны... где можно "слизать" меню.
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #13 : 30.01.2012, 18:53:31 »
... Пока просматриваю шаблоны... где можно "слизать" меню...

Ну, если соображаете как это делается, то, попробуйте вытащить JA Mega Menu из Т3 фреймворка... У меня не получилось это сделать... Может у Вас получится
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #14 : 01.02.2012, 18:59:54 »
Люди, в общем, загруз вот на этом:

Т. е., <ul class="dropdown_3columns">, вместо того, чтобы один раз создать контейнер (при наведении мышкой на верхний уровень меню (в моем примере: "Культура") - т. е. на <li class="item-519 deeper parent">), и в него поместить 3-и сепаратора (в ряд), и под первым сепаратором (<li class="item-520 deeper parent">) разместить уже <li class="item-523">_</li> ... <li class="item-529">_</li>, так этот <ul class="dropdown_3columns"> дублируется и под <li class="item-520 deeper parent"> - чего не нужно...

В файле mydefault.php ( ~ на 66 строке в коде), я дописал в <ul> класс dropdown_3columns и получил вот такой код:
   
Код: php
// The next item is deeper.
if ($item->deeper) {
echo '<ul class="dropdown_3columns">';
}

И что делать дальше - ума не приложу...
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: J1.7 mod_menu --> Mega menu
« Ответ #15 : 01.02.2012, 20:25:29 »
У вас на скрине показаны модули в выпадающем меню. Просто так это не сделать! Не говоря уже о нелогичности решения. Модуль в модуле. Могу помочь написать любое кастомное меню путём оверрайда. С этим проблем нет. Только опишите в теме популярнее, что хотите сделать. Какую получить разметку и т.п.
Если сильно хочется выводить модуль, например, авторизации, как пункт меню, то сделать тоже можно, в принципе. Только это путь лесом. Могу дать удочку объяснить в каком направлении копать...
1. Для начала вам нужно как-то объяснить рендереру, что вы хотите модуль вывести а не пункт меню. А то, будь он AI, тоже бы тоже удивился.  ^-^ Значит нам нужен новый тип пункта меню. Как его создать подробно написано здесь: Альтернативный макет пункта меню.
2. Как получить параметры любого модуля описано здесь: http://www.themepartner.com/blog/56/get-joomla-17-plugin-module-component-and-template-parameters/
3. Как вывести позицию модуля или отдельный модуль описано здесь: http://www.theartofjoomla.com/home/6-layouts/12-loading-joomla-modules-from-layout-overrides.html и здесь: http://joomla-book.ru/development/miscellaneous/not-a-standard-call-to-the-module-without-jdoc-include
В общем, при желании возможно всё.
Но я таки повторно советую отделить мух от котлет сделать разметку внешнего "меню" в самом шаблоне, а уже в нём позициями выводить и пункты меню, и модули и компонент даже, если хочется. ^-^
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #16 : 01.02.2012, 21:34:03 »
У вас на скрине показаны модули в выпадающем меню. Просто так это не сделать! Не говоря уже о нелогичности решения. Модуль в модуле ...
Если честно, то, прикрутка модуля в меню - это важно, но, на данную секунду, мне бы совладать со структурой вывода меню...

... Могу помочь написать любое кастомное меню путём оверрайда. С этим проблем нет. Только опишите в теме популярнее, что хотите сделать. Какую получить разметку и т.п. ...
На скринах в начале поста, я попытался объяснить то, что в итоге хочу получить, т. е.:
  • При навелении на любой из пунктов меню верхнего уровня (кроме "Мир сегодня"), выпадает меню, которое разбито на 3-и колонки. Сепараторы - название колонок. Под первым сепаратором, в столбик, идут пункты второго уровня.

    Под вторым и третьим сепаратором (ну, это уже (пока) из области фантастики для меня), идут модули (по одному в каждой колонке)
  • При наведении на пункт меню верхнего уровня "Мир сегодня", выпадает так же трехколоночное меню (как в предыдущем пункте), с той лишь разницей, что с пунктов меню второго уровня, выпадает так же несколько колоночное меню (зависит от региона)
Вот такую разметку мне нужно (если я правильно понял, что Вы имели ввиду под словом "разметка")

... Если сильно хочется выводить модуль, например, авторизации, как пункт меню, то сделать тоже можно, в принципе. Только это путь лесом. ...
Честно... Мне хоть лесом, хоть полем - абы работало так как задумано и не мешало каким-либо образом SEO

... Могу дать удочку объяснить в каком направлении копать...
1. Для начала вам нужно как-то объяснить рендереру, что вы хотите модуль вывести а не пункт меню. А то, будь он AI, тоже бы тоже удивился.  ^-^ Значит нам нужен новый тип пункта меню. Как его создать подробно написано здесь: Альтернативный макет пункта меню.
2. Как получить параметры любого модуля описано здесь: http://www.themepartner.com/blog/56/get-joomla-17-plugin-module-component-and-template-parameters/
3. Как вывести позицию модуля или отдельный модуль описано здесь: http://www.theartofjoomla.com/home/6-layouts/12-loading-joomla-modules-from-layout-overrides.html и здесь: http://joomla-book.ru/development/miscellaneous/not-a-standard-call-to-the-module-without-jdoc-include ...
За ссылки - отдельное спасибо

... сделать разметку внешнего "меню" в самом шаблоне, а уже в нём позициями выводить и пункты меню, и модули и компонент даже, если хочется. ^-^
Здесь немного не понял....
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: J1.7 mod_menu --> Mega menu
« Ответ #17 : 01.02.2012, 22:41:15 »
Набросал.
http://shustry.safetylogic.ru/joomlaforum/3cols.html - демо.

Код: html4strict
<ul>
    <li>Здравохранение</li>
    <li>Культура
    <ul>
        <li>Новости развлечений
            <ul>
                <li><span>Игры</span></li>
                    <li><span>Искусство</span></li>
                    <li><span>Культура</span></li>
                    <li><span>Секс</span></li>
                    <li><span>Онанизм с Jooml`ой</span></li>
                </ul>             
            </li>
            <li>Последние новости
            <ul>
                <li><span>С выводов модулей написал как сделать. Готовое решение писать пока некогда</span></li>
                </ul>
            </li>
            <li>Спонсоры раздела
            <ul>
                <li><span>Спонсор раз</span></li>
                    <li><span>Спонсор два</span></li>
                    <li><span>Спонсор три</span></li>
                </ul>           
            </li>
        </ul>
    </li>
    <li>Общество</li>
</ul>
Код: css
* {margin:0; padding:0;}
ul, li {display:block; float:left; position:relative;}

li {font:17px/24px Arial, Helvetica, sans-serif; background:#09C; color:#fff; padding: 5px 25px; border-left:#000 solid 1px;}
li:first-child {border:none;}

ul ul {position:absolute; left:0; top:34px; display:none;
width:800px; /*подбираете опытным путём*/
}
li:hover {cursor:pointer;}
li:hover ul {display:block;}

li li {border-left-color:#666; margin:0; padding:10px 25px; position:relative; background:#333; text-transform:uppercase;
height:190px; /*это тоже придётся явно прописывать, если не хотим разметку переписывать.*/
}
ul ul ul {position:absolute; width:auto; padding-top:10px;}
li li li {height:auto; width:100%; margin:0; padding:0; border:none; text-transform:none;}
li li li span {padding:5px 20px 5px 45px; display:block; font:15px/20px Arial, Helvetica, sans-serif;}
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #18 : 01.02.2012, 23:51:51 »
Набросал.
http://shustry.safetylogic.ru/joomlaforum/3cols.html - демо ...
Лирическое отступление :):
  • Shustry, то, что Вы сделали - это и младенец может... Но вот скажите, как Вы "разобрались" с последним пунктом второго уровня в Вашем примере - "Онанизм с Jooml`ой" - это же самый сложный пункт во всем меню.......
Ну, как пример того, что нужно: http://www.b2all.biz/seb/index.php/ru/culture - это Гавиковский фреймворк
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #19 : 09.02.2012, 16:13:01 »
... Могу помочь написать любое кастомное меню путём оверрайда. С этим проблем нет. Только опишите в теме популярнее, что хотите сделать. Какую получить разметку и т.п. ...
Ну, вот что-то типа такого:
Спойлер
[свернуть]
И CSS:
Спойлер
[свернуть]
*

Gover

  • Захожу иногда
  • 189
  • 3 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #20 : 09.02.2012, 21:44:22 »
А почему просто не приобрести модуль и не мучиться?
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #21 : 09.02.2012, 21:59:51 »
А почему просто не приобрести модуль и не мучиться?
Потому, что, в модуль, ссылки на меню, заносятся ручками - это все равно, что код выше, закинуть в Custom и установить на сайт. Хорошо, если меню, создалось и раз, и никогда больше не меняется, а если будет дополняться/изменяться...? А если на нескольких языках...?
*

Dreamer

  • Осваиваюсь на форуме
  • 15
  • 3 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #22 : 13.02.2012, 22:00:22 »
Цитировать
Мне хоть лесом, хоть полем - абы работало так как задумано и не мешало каким-либо образом SEO
В любом случае выпадающие ссылки по событиям яваскрипта плохо дружат с SEO.

Вчитывался очень быстро и не очень понял суть проблемы.
Вам нужно в зависимости от уровня меню отключить/включить вывод тех или иных тегов?
Я делаю это так:

Во-первых в файле, который до переименовывания назывался default.php ищем фрагмент текста и вместо default вписываем начальные фрагменты имен ваших файлов (у меня это leftmnu, у вас будет mydefault), соответствующие файлы разумеется тоже надо скопировать и поименовать соответственно:
Код
	switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_menu', 'leftmnu_'.$item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_menu', 'leftmnu_url');
break;
endswitch;

Далее лезем в mydefault_component, mydefault_url и mydefault_separator и там определяем уровень вложенности:
Код
$class='class="lev'.($item->level).'" ';
После этого у вас вложенные пункты меню будут отображаться с соответствующими классами lev0,lev1,lev2 и т.д., и соответственно css-стилями их можно вывести как угодно.

Как сделать зависимость вывода того или иного тега меню от типа пункта меню? В менеджере меню у этого пункта указываем определенный CSS класс у этих пунктов в "Параметры отображения ссылки" (например, myredcss), а в файле mydefault.php делаем проверку нечто вроде этого:
Код
if(!strcmp($item->anchor_css,"myredcss"))
{
echo '<ваши теги..>';
}

*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #23 : 16.02.2012, 23:41:15 »
... а в файле mydefault.php делаем проверку нечто вроде этого:
Код: php

if(!strcmp($item->anchor_css,"myredcss"))
{
echo '<ваши теги..>';
}


<ваши теги..> - это имеется ввиду CSS теги?
*

Dreamer

  • Осваиваюсь на форуме
  • 15
  • 3 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #24 : 18.02.2012, 00:08:50 »
Да нет же =) Это любой текст. Хотите - размеченный тегами, хотите просто текст. А хотите - результат выполнения какой-либо функции. Хотите - блок ява-скрипта.

CSS теги как раз не проблема вывести, это как раз в админке размечается. Я же этим кодом заставляю при наличии определенных признаков (в данном случае - указание опредленных стилей) вместо этих самых стилей выводить ваш тект. То есть в этм месте вы можете запросто вывести что-то вроде
Код
<div class="myexendedclass">
<a href="blablabla" OnClick=MyFunc();>text</a>
</div>

- как видите можно даже яваскрипт в это место впихнуть.

Посмотрите мой пример, который я вам по мейлу отправлял. Там выводится произвольный тег, затем текст, затем снова тег. Никто не мешает вместо одного слова текста хоть десяток страниц тегов, скриптов и прочего впихнуть.
*

Dreamer

  • Осваиваюсь на форуме
  • 15
  • 3 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #25 : 18.02.2012, 00:32:35 »
Так просто не получится одним оверрайдом. Вы хотите модули выводить внутри модуля меню. Это надо весь mod_menu переписывать а не только его шаблон.
Почему? Все переопределение можно сделать внутри шаблона и mod_menu вообще трогать не надо.

В нужном месте, где переопределяем щаблон (например в моем примере это как раз фрагмент, обозначенный как "ваши теги"), просто вставляем такой код (ЭТО РАБОТАЕТ!!  - только что не поленился и проверил на своем сайте)
Код

/*------------------- для примера вставим сюда модуль типа "текст html" (custom),
которому в админке присвоим имя 'test', позицию вообще все равно какую указывать,
страницы вывода тоже все равно какие отмечать, вывод будет в любом случае
*/
$module = JModuleHelper::getModule( 'custom', 'test' );
$attribs['style'] = 'xhtml';
$attribs['name'] = 'Test';
echo JModuleHelper::renderModule( $module, $attribs );
//---------------------
разумеется, в админке не забываем создать модуль типа хтмл и с заголовком test.

И все работает!
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #26 : 18.02.2012, 16:15:36 »
Да нет же =) Это любой текст. Хотите - размеченный тегами, хотите просто текст. А хотите - результат выполнения какой-либо функции. Хотите - блок ява-скрипта ...Посмотрите мой пример, который я вам по мейлу отправлял ...

Вся пробема в том, что я совсем не знаком с PHP... Просто не знаю откуда, но, я могу понимать то, что "говорится" в коде, но, почему это именно так - не знаю...

В Вашем примере, я разобрался, но, как это применить для нескольких пунктов меню, если (к примеру), один пункт меню, должен вывести (выпасть из него второй уровень меню) 3-х колоночное меню, а другой пункт меню - 2-х колоночное меню... Вот с этим не разобрался...

Т. е., если мне нужно сделать:
Код: php
if(!strcmp($item->anchor_css,"myredcss"))
if(!strcmp($item->anchor_css,"mybluecss"))
if(!strcmp($item->anchor_css,"mygreencss"))
if(!strcmp($item->anchor_css,"myblackcss"))

то мне нужно создавать несколько
Код: php
$begin_teg_block = '';
$end_teg_block = '';

и соответственно, как тогла мне указать тут:
Код: php
echo $begin_teg_block;

switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:
// _blank
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
// window.open
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a>
<?php
break;
endswitch;

echo $end_teg_block;

что это для класса mybluecss, а это для mygreencss, а это для mygreencss и т. д.?

... просто вставляем такой код ... И все работает!
А вот за это АРХИСУПЕРМЕГА ОГРОМНОЕ СПАСИБО (+ в репу ловите)! Вот только проблема - модуль отображается только тогда, когда есть хоть один пункт после сепаратора... Если нет ни одного пункта после сепаратора, нет и модуля...

Я так понимаю, что нужно использовать регулярные выражения, чтобы вычислить все буквы и ссылку, а потом, как-то удалить их и оставить только загрузку модуля... Вот только как пишется это регулярное выражение...?
« Последнее редактирование: 19.02.2012, 13:29:31 от Dgikar »
*

Dreamer

  • Осваиваюсь на форуме
  • 15
  • 3 / 0
Re: J1.7 mod_menu --> Mega menu
« Ответ #27 : 19.02.2012, 16:36:43 »
ну во-первых, тип блока, который нужно выводить, можно определить  так:
Код
if(!strcmp($item->anchor_css,"myteg1css"))
{
$begin_teg_block = 'tegs1....';
$end_teg_block = '...';
}
if(!strcmp($item->anchor_css,"myteg2css"))
{
$begin_teg_block = 'tegs2....';
$end_teg_block = '...';
}
....

во-вторых, подумал над вашим меню... вы как-то сильно все усложняете.
меню надо сделать в точности такое же, как тут?
http://www.b2all.biz/seb/index.php/ru/
Тогда вы заколебетесь вручную вписывать в это меню каждый пункт. Лучше наверное сделать так, чтобы при добавлении новых материалов эти пункты в меню появлялись сами, в частности всякие там последние новости и т.д.

Можно подумать в сторону вставки внутрь пунктов меню списков материалов категории, в шаблон которых вставить яваскрипт для скрытия неактивных пунктов..





« Последнее редактирование: 19.02.2012, 16:40:29 от Dreamer »
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: J1.7 mod_menu --> Mega menu
« Ответ #28 : 19.02.2012, 17:06:16 »
Все дело в том, что я уже сделал, что все пункты меню, выводятся так как нужно, осталась одна загвоздка - вывод (в нужном месте) модулей - и готово.

Вот так, сейчас выглядит меню:
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: j1.6/1.7/2.5 mod_menu >= Mega menu
« Ответ #29 : 12.05.2013, 21:31:24 »
2 Shustry
А как сделать, чтобы например когда ного ного подменю пунктов, и меню-родитель был в центре, а все остальные слева направо все занимали.
Мне вообще то надо сделать как здесь. ну само меню конечно) красное
http://www.onlinepowertools.co.uk/

я понимаю что дело в CSS но никак не могу понять, как устроена схема. >:(
« Последнее редактирование: 12.05.2013, 21:41:29 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Menu и Header

Автор everlog

Ответов: 0
Просмотров: 2532
Последний ответ 18.02.2019, 13:40:54
от everlog
mod_menu и подписи к пунктам меню (subtitles)

Автор St@lker

Ответов: 21
Просмотров: 8186
Последний ответ 29.10.2017, 16:24:00
от xilog
Не работает mega menu в шаблоне sj_jare

Автор premisse

Ответов: 5
Просмотров: 3734
Последний ответ 28.02.2017, 21:35:24
от ddenov
zt conto left menu

Автор Roman62

Ответов: 2
Просмотров: 1077
Последний ответ 12.11.2015, 18:12:11
от Roman62
Как Запихнуть модуль в шаблон меню /templates/tmname/html/mod_menu/default.php ?

Автор Kuzmitch

Ответов: 1
Просмотров: 1501
Последний ответ 21.09.2015, 06:12:26
от ELLE