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

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Всем привет. Помогите пожалуйста интегрировать вертикальное раздвижное меню на CSS и JQuery в Joomla. Стили и само меню я подогнал под свой шаблон, но не могу понять как теперь сделать так, чтобы при добавлении статьи из админки, ссылка на нее появлялась в меню. С php знаком плохо, по этому нужна Ваша помощь.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Совсем без php не получится. Выложите код разметки меню под спойлером. Попробую помочь.
*

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Вот. Надеюсь вставил правильно

Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
при добавлении статьи из админки, ссылка на нее появлялась в меню
mod_menu править, это не в шаблоне.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
1. Создаёте файл templates/шаблон/html/mod_menu/accordion.php:

Код: php
<?php defined('_JEXEC') or die;
//© Shustry :)
?>
<ul id="accordion">
<?php
foreach ($list as $i => &$item) :
echo '<li>';
if ($item->level == 1) {
echo '<div>'.$item->title.'<br /><span class="button_podtext">'.$item->note.'</span></div>';
} else {
echo '<a href="'.$item->link.'">'.$item->title.'</a>';
}

if ($item->deeper)
{
echo '<ul>';
}
elseif ($item->shallower)
{
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
else {
echo '</li>';
}
endforeach;
?></ul>

2. Стили и скрипты, как я понял, вы уже подключили. Если нет, то сделаете сами.
3. Здесь $item->note — это описание, заполнять нужно поле «примечание» в менеджере меню
4. В менеджере модулей выбираете альтернативный макет accordion.

p.s. не проерял, но работать должно.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
…чтобы при добавлении статьи из админки, ссылка на нее появлялась в меню…

Это вообще не про меню. берёте любой новостной модуль из установленных и выводите.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Ну почему, можно и в меню, но во вьюхе mod_menu придется цепляться к базе и считывать заголовки материалов, что не есть хорошо, здесь безопаснее и, возможно, проще, клоник модуля сделать и переписать его хелпер, заодно и поля необходимые добавить, для указания категории и прочих условий. Другой вопрос, что под меню подразумевает сам ТС и в состоянии ли он делать такие правки, судя по всему - нет.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Так, если мы цепляемся к базе и считываем заголовки, разве это не модуль новый получится? ^-^ Нецелесообразно, когда есть готовое. Так-то можно прям в index.php шаблона запилить один запрос из таблицы контента с выборкой тайтла и id и через JRoute вывести в цикле. Просто сама задача у ТС довольно странная. А если будет тысяча статей? А 10 000?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
А если будет тысяча статей? А 10 000?
ага, и заголовок у каждой на 3 строки

Для этого вообще-то и придумали блог категории
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Блог категории не подойдёт, т.к. нужно универсальное решение типа модуль. Чтобы ТС мог втыкать это в любое место на сайте, на манер меню. Для этого идеально подходят модули «mod_articles_latest» или «mod_articles_news». Любой. Из шаблона нужно только всё выпилить и оставить только ссылку заголовком. Обрезать заголовок довольно просто:

Код: php
$textlimit = '1000';

$temptext = substr(
$temptext, 0, (
strripos(
substr($temptext, 0, $textlimit), ' '
)
)
);

$text = trim($temptext, ' ').'…';
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Можно и так. Если ТС надумает выводить этот модуль в виде подменю главного меню, есть готовое решение.
*

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Извините, возможно выразился не совсем понятно. Хотелось бы, чтобы меню работало как обычное меню т.е. при добавлении новой статьи в админке, она появлялась бы в меню в виде его пункта. Например:
Все о машинах
- Как сменить свечи
- Установка магнитолы
- Смена колес
и т.д.

Друг говорил надо скачать все из папки mod_menu и вставить в папку HTML с моим шаблоном, а в файле defaut.php отредактировать код
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Я именно это и имел ввиду. Правок будет оч. много, знание api J и работа с БД обязательны. Проще новый модуль меню нарисовать.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Хотелось бы, чтобы меню работало как обычное меню т.е. при добавлении новой статьи в админке, она появлялась бы в меню в виде его пункта.

Обычное меню так не работает. Или создаёте пункты меню вручную, или пишите модуль самостоятельно. Насколько вижу, тут многоуровневое меню нужно, а это уже не пять строк кода. Нужно подключать таблицу категорий и вообще не за пять минут пишется.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Если в меню будет ограниченное кол-во материалов, то можно и модуль последних новостей в него пропихнуть, будет проще и изящнее, но в нем будут или перемешаны все категории или не все материалы.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Дайте ссылку на сайт, где вы это хотите сделать
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Теоретически, да, ты прав. Если получить category level, то можно будет вывести многоуровневым списком.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Даже можно как структуру вложенных подменю внутри новостного модуля сделать, но тут вопрос сортировки массива записей встает: они все автоматом по дате, а надо сначала по категории. Опять хелпер править =)
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Лёх, смысл? Тут править хелпер, там переписывать шаблон… Для такой задачи проще отдельный модуль написать. Править хелпер вообще недопустимо, он же обновляется.
*

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Для того что бы хелпер не обновлялся его вроде выносят в папку шаблона.
« Последнее редактирование: 07.10.2014, 17:15:21 от SoulWolf »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Правка хелпера автоматом подразумевает клонирование и переименование модуля, хелпер в шаблоне не переопределяется!
Здесь действительно проще mod_menu переписать. Но если разбивка по категориям не подразумевается даже в далеком будущем, то можно и как есть, переопределениями.

ТС, решайте и конкретизируйте задачу. "Все о машинах" - это название категории в качестве заголовка пункта меню или произвольный заголовок, у которого будет подменю со статьями? Добавляться будет в боковое или главное меню?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Смысл?
1. написать модуль
2. размазать его логику по хелперу другого модуля.
3. вынести хелпер в шаблон, что само по себе противоречит MVC
4. переписать шаблон вывода какого-нибудь модуля под нужны нового
… профит!
Для тех, кто не ищет лёгких путей это возможно и решение.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Правка хелпера автоматом подразумевает клонирование и переименование модуля, хелпер в шаблоне не переопределяется!

Можно переопределить класс. Я так делал во времена Joomla 1.5, когда логика меню не переопределялась оверрайдом. Но это давно забытый костыль.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Так тут или 1 или 4, остальное, имхо, не катит, костыли вообще не вариант как класс.
Класс в шаблоне - это уже фрейм =)
*

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
ТС, решайте и конкретизируйте задачу. "Все о машинах" - это название категории в качестве заголовка пункта меню или произвольный заголовок, у которого будет подменю со статьями? Добавляться будет в боковое или главное меню?

Сайт вообще о мицелии грибов. Меню должно иметь следующий вид:
1. Боковое меню
2. Идет фраза в меню "Вешенки" по нажатию на фразу меню раздвигается и там статьи
3. Сами статьи разбиты на категории "вешенки", "опята" и т.д.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Это уже не фрейм, это флейм! :) Имхо, тема исчерпала себя, пока ТС не подучит основы Joomla.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Обычный аккордеон, внутри которого кучка модулей последних новостей. Не меню.

Жень, а ты перекинь топик, тут ему уже однозначно не место.
*

SoulWolf

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
В общем ладно, я вижу что Вы не понимаете чего я хочу от меню или я излагаю плохо...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Вам не нужно меню. То, что вы хотите, стандартными средствами J у вас не получится. Рад предложенных решений подразумевает наличия необходимых, достаточно серьезных знаний. Учите мат.часть. Удачи.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Жень, а ты перекинь топик, тут ему уже однозначно не место.
Тут несколько прикольных решений, пусть будет в копилке знаний.

В общем ладно, я вижу что Вы не понимаете чего я хочу от меню или я излагаю плохо...
Автоматического создания пунктов меню при сохранении материала нет. Тут два варианта:
1. Если у вас не планируется over 1000 статей на сайте, то создавайте структуру меню штатными средствами в админке. Это вообще самый правильный способ, т.к. исключит дубли, сформирует нормальные SEF-ссылки и т.д.
2. Если у вас будет новостной сайт например, где по сто статей в день выкладывается, то есть смысл написать модуль отдельный.
Это всё к вопросу «хочу, чтобы меню само создавалось, когда я статью добавляю». По-вопросу «сделать аккордеон-меню» я в самом начале написал решение.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 2501
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 4742
Последний ответ 23.05.2023, 07:22:49
от geral
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 199129
Последний ответ 15.04.2023, 18:26:50
от AS1969
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 1171
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 2193
Последний ответ 20.03.2023, 12:42:49
от Andre100