интеграция выпадающего CSS меню в шаблон Joomla! 1.5

6 года 4 мес. назад - 6 года 4 мес. назад #1230 от Nadaff
Перерыв весь интернет на тему сабжа так и не нашел ни одной нормальной статьи о интеграции модуля чисто на CSS. Единственная полезная статься на тему о J-query меню ( wedal.ru/uroki-joomla/integration-jquery-menu-in-joomla-template.html ) мне не очень подходит, хочется внедрить в шаблон своё меню имея только HTML код меню и его настройки CSS.

Сам тип меню такой:
<ul id="menu2" class="dropdown dropdown-horizontal">
<li><a href="ссылка" class="dir">1</a>
<ul>
<li><a href="ссылка"</a>1.1</li>
<li><a href="ссылка"</a>1.2</li>
<li><a href="ссылка"</a>1.3</li>
</ul>
</li>
<li><a href="ссылка"</a>2</li>
<li><a href="ссылка"</a>3</li>
<li><a href="ссылка"</a>4</li>
<ul>
<li><a href="ссылка"</a>4.1</li>
<li><a href="ссылка"</a>4.2</li>
<li><a href="ссылка"</a>4.3</li>
</ul>
</li>
<li><a href="ссылка"</a>5</li>
<li><a href="ссылка"</a>6</li>
</ul>

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад #1277 от Wedal
Nadaff, эта самая статья вам вполне подходит. Если есть готовый CSS-файл, структура меню и рабочий пример, то нужно лишь подогнать классы и идентификаторы меню Joomla под ваше меню. Для этого все делаем по статье, только не подключаем скрипты. А затем сравниваем исходные коды страниц Joomla и примера меню.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад - 6 года 4 мес. назад #1284 от Nadaff
Не дождавшись ответа, я решил попробовать интеграцию по явовскому меню, но я где-то ошибся, я думал в вызове модуля, модуль с меню вовсе не оображается... Сначала пробовал и на своем сайте, и на вашем примере по переделыванию на джумлу, итог один - модуль вовсе не видать...

Код модуля выглядит так:
<?php if($this->countModules('hornav')) : ?>
<div class="ddsmoothmenu" id="smoothmenu1">
<jdoc:include type="modules" name="hornav" />

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

joomla! версии 1.5.22, может в административной панели что-то включить нужно?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад #1287 от Nadaff
Спасибо Вам за ответ и за статью. Я разобрался в своем вопросе. Мне была непонятна система устройства джумлы. Для появления меню необходимо было в менеджере меню создать модуль, присвоить ему необходимую позицию и приклеить нужное меню.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1905 от NIk
Мучаюсь вот по какому вопросу. Меню из статьи становиться нормально и jquery работает. А вот с другими менюшками проблема. Дело в том что здесь css классы начинаются с ddsmoothmenu. а во многих менюшках запись примерно такая: ul.класс a, ul.класс ul li a. я пробовал все значения ставить после класса, тогда меню отображается, но к нему не применяется jquery. что я делаю не так подскажите пожалуйста. как отредактировать css файл, чтобы всё нормально было? или в index.php класс указываю неверно. тогда как его узнать? Заранее огромное спасибо!!!

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1909 от Wedal
NIk, честно говоря, ничего не понял. Напишите более развернуто, если возможно, с примерами.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1911 от NIk
Css файл вашего примера выглядит так:

.ddsmoothmenu{
font: bold 12px Verdana;
background: #414141;
width: 100%;
}

.ddsmoothmenu ul{
z-index:100;
margin: 0;
padding: 0;
list-style-type: none;

и т.д.

То есть после записи класса идёт ul, li и тому подобное.

Я же скачал меню где:

ul.ldd_menu > li > span{
float:left;
color:#fff;
background-color:#D04528;
height:50px;
line-height:50px;
cursor:default;
padding:0px 20px;

}
ul.ldd_menu .ldd_submenu{
position:absolute;
top:50px;
width:550px;
display:none;
opacity:0.95;
left:0px;
font-size:10px;
background: #C34328;

и т.д.
То есть здесь ПЕРЕД классом ставиться ul...

Когда я подключаю этот css к joomle, то отоброжается всё неккоректно. Я переставляю ul после класса. Меню начинает отоброжаться, однако не к нему не применяется как я понимаю jquery. То есть ничего не выпадает и т.д.

Вопрос: что я делаю не так?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1917 от Wedal
NIk, т.е. вы взяли собственный CSS и пытаетесь совместить его с меню, описанным в статье? Так ничего работать не будет. Кроме библиотеки jQUERY к меню подключается еще один скрипт, который, собственно, его(меню) и формирует. Этот скрипт срабатывает только на строго определенные классы. Если классы вашего меню отличаются, то нужно или подгонять их под классы меню из примера, или исправлять классы в скрипте.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3301 от Никита
Добрый вечер!
Я пытаюсь использовать предложенную Вами технологию встраивания (Joomla 1.7), чтобы подключить вот такое меню ( ruseller.com/lessons.php?rub_id=32&id=209 )
И что-то никак не получается. Не могли бы помочь? Или для этой версии Joomla надо делать по-другому?

С уважением

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3303 от Nadaff
В Joomla 1.7 все так же, опиши проблему конкретней - что не получается?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3308 от Никита
тогда кратко что сделал и что получилось (точнее не получилось :-)
в Joomla создал вертикальное меню. Пока один пункт родительский и два дочерних. Использую стандартный модуль меню.
Дальше для самого выпадающего меню взял два файла - js и css. Разложил по папкам.
Дальше подключил файлы и библиотеки - все подключилось, проверил через исходный код.
Однако уже тут возникает вопрос - как правильно написать скрипт в начале index.php. Как я понимаю название класса и инициализация, а также название класса в div при вызове модуля меню должно быть одно и тоже. Так? А menuid в скрипте и id div тоже одно и тоже? Так и сделал. Правда, не совсем понятно что делать с параметрами orientation и contentsource. Но я поставил как сказано в статье.
Дальше правлю css файл для меню. Там всюду стоит название id для ul, который обрамляет все меню. Лезу в исходный код. Все меню обрамлено ul, но не с id, с классом. Поэтому в css файле меняю строки типа ul#
li на ul.
li.
а также в js файле меняю '#
li a' на '.
li a'
А на экране меню нет никакого. Ни выпадающего, ни фиксированного :-(
Очень прошу подсказать, что не так

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3322 от Nadaff
Ошибка в модулях.
Надо чтобы имя модуля в html коде файла index.php совпадало с как ты говоришь "стандартным" модулем меню. Там вроде name="topmenu" называется?
<jdoc:include type="modules" name="topmenu" /> - вот так должен выглядеть код, а если не поможет - залезь в сам модуль и покопайся в его настройках :whistle:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад - 5 года 8 мес. назад #3328 от Никита
да вроде все уже просмотрел. В настройках модуля вообще ничего такого нет. Полез в текст модуля меню - там тоже ничего конкретного нет. По поводу имени в index.php не очень понял. Ведь я могу почти любое имя тут указать. Это лишь позиция в шаблоне. А на эту позицию поставить нужный модуль, например, Меню (тот, который идет в составе системы).
Правда, есть еще один момент, о котором я забыл написать. Пункты меню, на которые надо кликать, чтобы раскрылось выпадающее меню сделаны как разделители (ведь они не ведут ни на какие материалы). Может быть в этом дело. Но я все-равно не понимаю что не так. Все вроде совершенно прозрачно.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3330 от Nadaff
Насчет разделителей без разницы, можете даже создать тестовый материал и прикрепить его ко всем пунктам меню.

Ваше меню хотя бы без стилей присутствует на самом сайте? если нет, то у Вас не подключен модуль к сайту, либо меню к модулю.
У сайта должна быть позиция для модуля с меню, у модуля с меню должна быть прописана та же позиция. Проверьте орфографию. :woohoo:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3334 от Никита
Однако, все поехало.
Во-первых, большое спасибо за подсказки на какие тонкие места надо обращать внимание.
Во-вторых, тем, кто будет решать аналогичную задачу могу дать совет - после того, как выполните все указанные рекомендации по интеграции внимательно отследите все классы, селекторы и пр. Особенно в js файле.
Удачи!

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3359 от Никита
И походу дела появился еще один вопрос. Выпадающее меню работает отлично. Но есть вопрос такой. Когда я нажимаю на пункт уже выпавшего подменю, чтобы у меня на странице основного контента отобразилась нужная страничка, меню опять схлопывается. Такое впечатление, что происходит полная инициализация меню, т.е. javascript отрабатывает с нуля. А там действительно стоят параметры hide. Если это действительно так, может быть подскажете как это обойти? Или я совсем не прав.
Заранее спасибо

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3365 от Nadaff
Сначала убедись, что дело в скрипте - отключи его, и делай выводы где копать нужно

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3383 от Никита
не очень понял. Если скрипт отключить, то все эффекты просто пропадают. Соответственно, и проблемы больше не нет :-) Так как меню не схлопывается, а остается в том же виде.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад #3384 от Nadaff
Я посто не особо разглядывал твое меню :silly: я думал оно на ксс с эфектами от ява :woohoo:
Теперь посмотрел B) тебе надо дописать в яве начальный статус равный со свойстваи как у открытого подпункта

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх