Форум русской поддержки Joomla!® CMS
09.12.2016, 13:46:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сортировка пунктов меню по алфавиту

 (Прочитано 1987 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« : 26.01.2014, 18:14:28 »

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

Репутация: +102/-9
Offline Offline

Сообщений: 2087


« Ответ #1 : 26.01.2014, 19:16:42 »

А что мешает в менеджере пунктов меню упорядочить их по алфавиту?
Записан
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« Ответ #2 : 26.01.2014, 19:26:31 »

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

Репутация: +102/-9
Offline Offline

Сообщений: 2087


« Ответ #3 : 28.01.2014, 10:51:19 »

Мне думается что напрямую через базу данных только отсортировать, через sql-запрос
Записан
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« Ответ #4 : 28.01.2014, 15:05:33 »

Печально... Рецептик не дадите?
Записан
KKAAZZOO
Практически профи
*******

Репутация: +102/-9
Offline Offline

Сообщений: 2087


« Ответ #5 : 28.01.2014, 18:08:13 »

Не знаю конкретного рецепта
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #6 : 28.01.2014, 18:08:42 »

Сделать альтернативный шаблон меню и пересортировать список.
Записан
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« Ответ #7 : 28.01.2014, 20:17:22 »

Достаточно понятно и развернуто объяснили... Но все равно спасибо за попытку.
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #8 : 28.01.2014, 21:11:49 »

Да я сразу понял, что вы не станете гуглить и пытаться самому реализовать, и даже написал всё. Но не успел запостить. А теперь видимо и смысла нет. Sad
Записан
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« Ответ #9 : 28.01.2014, 21:48:19 »

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

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #10 : 29.01.2014, 11:32:18 »

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

Код
$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
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #11 : 29.01.2014, 11:41:23 »

То же самое, но с комментариями, чтобы понимать что гуглить на будущее Azn :
Показать текстовый блок
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #12 : 30.01.2014, 12:03:29 »

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

Код
$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;

Тема походу только мне осталась интересна. Azn
Записан
tiptopvkr
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 95


« Ответ #13 : 04.02.2014, 22:01:10 »

Большое спасибо за помощь. На днях обязательно попробую на практике. До сих пор никак не получалось заняться.
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #14 : 04.02.2014, 22:37:07 »

Да незачто. На днях попробую доделать на досуге решение для многоуровневого списка. Там просто всё сложнее намного.
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« Ответ #15 : 18.03.2015, 13:19:36 »

Скажите а для JUX Mega Menu for VirtueMart как сделать сортировку
на сайте http://lik-astana.kz/index.php/ru/ стоит выпадающие меню
/modules/mod_jux_vm_megamenu/tmpl/default.php
Показать текстовый блок
как описано ниже пробовал не работает
Показать текстовый блок
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #16 : 21.09.2015, 02:48:27 »

Кто подскажет как сделать чтобы сортировка было только одном пункте, с определенным ID ?
Есть пункт меню Авто с ID=100
В нем куча подпунктов "Ауди, Бмв, и т.д."
Есть ли возможность перепилить код так чтобы сортировались Автомобили по алфавиту ? Т.е. все что ниже пункта меню с ID=100 - сортируем по алфавиту.
И остальные пункты меню не трогаем ?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet