Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Всем привет!
Есть главное меню в котором один пункт предположим называется "Профиль". Я хочу, чтобы этот пункт меню был заменен на имя зарегистрированного пользователя.
В файле получаю имя пользователя следующим способом:
Код
$user = & JFactory::getUser();
print $user->username;
Как значение $user->username; вставить вместо слова "Профиль" в главном меню?

PS. Я так понимаю, что через админку это никак не сделать - нельзя вставить переменную вместо заголовка пункта меню.
« Последнее редактирование: 26.08.2014, 21:34:42 от Тренд »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Если это не универсальное решение, то:
У пункта меню есть id (файрбагом посмотреть), в шаблоне сайта или в переопределенном шаблоне модуля меню (лучший вариант) с проверкой, зарегин ли юзер, выводить вместо имени значение JFactory::getUser()->username
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Это понятно, что надо проверять зареган ли пользователь, я упростил код для примера.
ID пункта я знаю (210), но как его изменить?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Только переписав название меню в базе. Но это очень накладно, каждый раз дергать базу.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
ID пункта я знаю (210), но как его изменить?
так что именно изменить, id? или фронт-метку?
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
так что именно изменить, id? или фронт-метку?
Имел в виду изменить title пункта меню с id=210
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Только переписав название меню в базе. Но это очень накладно, каждый раз дергать базу.
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Только переписав название меню в базе. Но это очень накладно, каждый раз дергать базу.
Согласен, в транзакцию к БД придется сначала включать select чтобы получить данные по пользователю, потом update, затем уже селекты при формировании страницы. При одновременных запросах пользователи будут становиться в очередь, пока транзакция не завершится.
Костыли всё это.
Думал через JS организовать, но это тоже костыли... Простого и красивого решения не могу найти.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Как изменить заголовок пункта меню?
« Ответ #10 : 27.08.2014, 12:01:18 »
Еще можно пристроить модуль авторизации к меню, но тут по верстке много делов будет. После авторизации покажет "Здравствуйте, username". До авторизации пункт "Профиль" может выпадать с полями для входа
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Re: Как изменить заголовок пункта меню?
« Ответ #11 : 27.08.2014, 12:25:05 »
Еще можно пристроить модуль авторизации к меню, но тут по верстке много делов будет. После авторизации покажет "Здравствуйте, username". До авторизации пункт "Профиль" может выпадать с полями для входа
Так просто не выпадет. У меня в меню две кнопки: "Вход" и "Профиль" с выпадающим подменю в виде форм. Первая кнопка показывается только гостям, а вторая не показывается. Вторая наоборот показывается только зарегистрированным пользователям, а первая не показывается.
JS может изменить пункт меню, но не знаю к какому событию привязать. Хотелось бы чтоб пораньше сработал, во время появления верхнего меню, а не в конце после загрузки всей страницы.
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Re: Как изменить заголовок пункта меню?
« Ответ #12 : 27.08.2014, 13:16:51 »
ну вроде в JS Есть отслеживание загрузки определенного блока, гуглите! или тут поищите, там всего полно http://mpbox.ru/
Вывод страницы в шаблоне выглядит приблизительно так:
Код
echo $gantry->displayModules('header','standard','extension','mainbody','standard','bottom');
Чтобы подобраться "ближе" к кнопке меню надо лезть в код объектов, туда, где они формируются на основе базы данных и стилей, а это уже некорректно.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Re: Как изменить заголовок пункта меню?
« Ответ #14 : 27.08.2014, 15:23:05 »
Так Gantry вроде поддерживает переопределения.
Похоже, я чего-то не понимаю. Переопределить Gantry (Override) не проблема и создать дубликат стиля. Но как добавить PHP или JS код в новую копию? Из админки этого не сделать. Надо править уже непосредственно php-файлы этого дубликата?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Как изменить заголовок пункта меню?
« Ответ #15 : 27.08.2014, 15:47:52 »
Ну да. На то они и дубликаты (переопределения), что их можно править без потерь при обновлении.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как изменить заголовок пункта меню?
« Ответ #16 : 27.08.2014, 21:23:58 »
Хотелось бы чтоб пораньше сработал, во время появления верхнего меню, а не в конце после загрузки всей страницы.
Ну можно еще в стилях для этого блока повесить display: none и потом на js подгружать туда имя юзера и показывать. Так не будет изменения надписи в процессе загрузки страницы, будет просто пустое место и бац - появилось имя юзера. Да и скрипт этот можно повесить выше загрузки прочих, чтоб отрабатывал первым
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 1234
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1459
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1631
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 7160
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS
Один пункт меню думает что он главный

Автор DamaVbubi

Ответов: 4
Просмотров: 1158
Последний ответ 13.02.2024, 19:49:10
от DamaVbubi