Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

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

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

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

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

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

Тренд

  • Захожу иногда
  • 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
Просмотров: 1236
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

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

Автор denis_4

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

Автор THE KILLERS

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

Автор DamaVbubi

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