Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

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
Просмотров: 4270
Последний ответ 18.02.2019, 13:40:54
от everlog
mod_menu и подписи к пунктам меню (subtitles)

Автор St@lker

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

Автор premisse

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

Автор Roman62

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

Автор Kuzmitch

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