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

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Здравствуйте уважаемые специалисты и знатоки Joomla. Подскажите пожалуйста какой-то способ или хак что-ли чтобы отсортировать пункты меню по алфавиту. Результат должен быть соответственно и в админке и на фронтенде. Заранее спасибо.
*

KKAAZZOO

  • Живу я здесь
  • 2240
  • 113 / 9
А что мешает в менеджере пунктов меню упорядочить их по алфавиту?
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Простите забыл указать немаловажный момент. Сортировать необходимо массово не вручную каждый пункт. Пунктов меню около 1000 и вручную это занимает много времени.
*

KKAAZZOO

  • Живу я здесь
  • 2240
  • 113 / 9
Мне думается что напрямую через базу данных только отсортировать, через sql-запрос
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Печально... Рецептик не дадите?
*

KKAAZZOO

  • Живу я здесь
  • 2240
  • 113 / 9
Не знаю конкретного рецепта
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Сделать альтернативный шаблон меню и пересортировать список.
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Достаточно понятно и развернуто объяснили... Но все равно спасибо за попытку.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Да я сразу понял, что вы не станете гуглить и пытаться самому реализовать, и даже написал всё. Но не успел запостить. А теперь видимо и смысла нет. :(
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Оригинально) Но все равно спасибо) Позвольте так же заметить чтобы гуглить нужно знать что. Для того чтобы получить ответ на вопрос сначала нужно правильно его задать. Ссылаясь на отсутствие знаний я не могу правильно задать вопрос в Google. А на поиск неправильными вопросами уйдет больше времени чем вручную выставить все позиции в нужном порядке.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
1. Копируем из modules\mod_menu\tmpl\ в templates\шаблон\html\mod_menu\ файл default.php.
2. Открываем и сразу после строки (defined('_JEXEC') or die;) вставляем:

Код: php
$titles = array();
foreach ($list as $i => $item) {
$titles[$i]= $item->title;
}
asort($titles);
$templist = array();
foreach ($titles as $title) {
foreach ($list as $i => $item) {
if ($title == $item->title) {
$templist[$i] = $item;
}
}
}
$list = $templist;

Теперь меню будет выводиться отсортированным по-алфавиту. Только я делал для одноуровневого. Для многоуровневого, думаю, уже несложно самому будет переделать. Пользовательскую сортировку списка не стал делать, т.к. решил сохранить оригинальные ключи на всякий пожарный. Они вроде нигде не используюцо, но малоле.

Да, и это для вывода меню естественно. В админке переделать только хаком ядра или написанием плагина, что для меня вообще нереально.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
То же самое, но с комментариями, чтобы понимать что гуглить на будущее :) :
Спойлер
[свернуть]
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Переделал. Так половчее. А то в предыдущем примере вложенные циклы, некрасиво.

Код: php
$titles = array();
foreach ($list as $i => $item) {
$titles[$item->title] = $item;
$titles[$item->title]->tempkey = $i;
}
asort($titles);
$templist = array();
foreach ($titles as $i => $title) {
$templist[$title->tempkey] = $title;
unset($templist[$title->tempkey]->tempkey);
}

$list = $templist;

Тема походу только мне осталась интересна. :)
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Большое спасибо за помощь. На днях обязательно попробую на практике. До сих пор никак не получалось заняться.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Да незачто. На днях попробую доделать на досуге решение для многоуровневого списка. Там просто всё сложнее намного.
*

Stasweb

  • Завсегдатай
  • 1457
  • 23 / 0
Скажите а для JUX Mega Menu for VirtueMart как сделать сортировку
на сайте http://lik-astana.kz/index.php/ru/ стоит выпадающие меню
/modules/mod_jux_vm_megamenu/tmpl/default.php
Спойлер
[свернуть]
как описано ниже пробовал не работает
Спойлер
[свернуть]
*

Kuzmitch

  • Захожу иногда
  • 150
  • 7 / 0
Кто подскажет как сделать чтобы сортировка было только одном пункте, с определенным ID ?
Есть пункт меню Авто с ID=100
В нем куча подпунктов "Ауди, Бмв, и т.д."
Есть ли возможность перепилить код так чтобы сортировались Автомобили по алфавиту ? Т.е. все что ниже пункта меню с ID=100 - сортируем по алфавиту.
И остальные пункты меню не трогаем ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 266
Просмотров: 52297
Последний ответ 22.10.2021, 21:08:37
от Zegeberg
Как добавить описание к пункту меню в Joomla 2.5? (Как у материалов)?

Автор nia

Ответов: 7
Просмотров: 4513
Последний ответ 29.03.2021, 12:10:26
от sivers
В моб версии не откриваються норм меню

Автор umsbeauty

Ответов: 0
Просмотров: 700
Последний ответ 11.01.2021, 17:55:15
от umsbeauty
Убрать название пункта меню из URL материала

Автор fortuner

Ответов: 15
Просмотров: 7194
Последний ответ 31.10.2020, 00:46:04
от spas
Проблемка с правым меню

Автор V_V

Ответов: 3
Просмотров: 1059
Последний ответ 03.12.2019, 06:24:56
от Vovolsort