Новости Joomla

Перевод и публикация интервью с 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

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

bantell

  • Захожу иногда
  • 93
  • 2 / 0
Всем привет!

Сразу к делу:
1.есть модуль, который выводится для всех незарегистрированных на всех страницах (кроме указанных).
2.есть определенные страницы в разных компонентах, которых соответственно нет в списках выбора - при создании нового пункта меню.

Какие есть способы, чтобы назначить этим ссылкам пункты меню, чтобы появилась возможность отключить показ модуля на них?

пробовал через URL = пункт меню то создается, но алис в ней не фигурирует и в модуле заблочен выбор назначения к пункту меню url соответственно.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
создать меню, модуль его нигде не публиковать, в нем создавать нужные такие (я и называю системными) ссылки, тогда в настройках модуля при привязке они будут доступны для отключения\включения
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

bantell

  • Захожу иногда
  • 93
  • 2 / 0
создать меню, модуль его нигде не публиковать, в нем создавать нужные такие (я и называю системными) ссылки, тогда в настройках модуля при привязке они будут доступны для отключения\включения
Перечитайте внимательнее "специфику"... речь не о том, что я не знаю как меню создать. Речь о том, КАК СОЗДАТЬ СВОИ СИСТЕМНЫЕ ССЫЛКИ , которых НЕТ В СПИСКЕ выбора при создании пункта меню.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Виноват, может не внимательно вник.
Тогда никак, только типом внешней системной ссылкой URL, если компонент не имеет своей настройки данного типа ссылки.
Дописывать функционал компонента единственно лишь
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

bantell

  • Захожу иногда
  • 93
  • 2 / 0
Виноват, может не внимательно вник.
Тогда никак, только типом внешней системной ссылкой URL, если компонент не имеет своей настройки данного типа ссылки.
Дописывать функционал компонента единственно лишь
внешняя ссылка URL - заблокирована для выбора из модуля
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
внешняя ссылка URL - заблокирована для выбора из модуля
Конечно, потому что по сути это внешняя ссылка (на другой сайт) и привязывать к ней модули смысла нет.
Я вижу только одно решение - дописывать функционал компонента, чтобы он делал ссылки нужных типов, доступные при создании пункта меню. Но это явно не самое простое решение
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

bantell

  • Захожу иногда
  • 93
  • 2 / 0
Конечно, потому что по сути это внешняя ссылка (на другой сайт) и привязывать к ней модули смысла нет.
Я вижу только одно решение - дописывать функционал компонента, чтобы он делал ссылки нужных типов, доступные при создании пункта меню. Но это явно не самое простое решение
шибко то ничего дописывать не пришлось... кому вдруг понадобится, вот решение.

Чтобы создать новый тип элемента пункта меню компонента, достаточно просто добавить в папку
Код
/components/com_MYCOMPONENT/views/MYVIEW/tmpl
нужного вида XML файл default.xml, следующего содержания:
Код
<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="Menu Title">
        <message>Menu description</message>
    </layout>
</metadata>
Тогда мы получим пункт на ссылку:
Код
index.php?option=com_MYCOMPONENT&view=MYVIEW
Со значениями task, добавить под layout:
Код
<state>
        <fields name="request">
            <fieldset name="request">
                <field name="task" type="hidden" default="mytask"/>
            </fieldset>
        </fields>
    </state>
*

bantell

  • Захожу иногда
  • 93
  • 2 / 0
шибко то ничего дописывать не пришлось... кому вдруг понадобится, вот решение.

Чтобы создать новый тип элемента пункта меню компонента, достаточно просто добавить в папку
Код
/components/com_MYCOMPONENT/views/MYVIEW/tmpl
нужного вида XML файл default.xml, следующего содержания:
Код
<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="Menu Title">
        <message>Menu description</message>
    </layout>
</metadata>
Тогда мы получим пункт на ссылку:
Код
index.php?option=com_MYCOMPONENT&view=MYVIEW
Со значениями task, добавить под layout:
Код
<state>
        <fields name="request">
            <fieldset name="request">
                <field name="task" type="hidden" default="mytask"/>
            </fieldset>
        </fields>
    </state>

Жаль сам себе плюс поставить не могу   ;D
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Жаль сам себе плюс поставить не могу   ;D
Я поставил :)
Прошу простить, привык что люди приходят не зная где найти стиль кнопки и подобные изыски проще сделать нежели объяснять :)

Хотя на тройке мне не приходилось добавлять новые пункты, по памяти вроде бы на 2.5 это было сложнее.

P.S. ну и главное учитывайте, если это не ваш компонент и он обновляется - затрется хак
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

bantell

  • Захожу иногда
  • 93
  • 2 / 0
Я поставил :)
Прошу простить, привык что люди приходят не зная где найти стиль кнопки и подобные изыски проще сделать нежели объяснять :)

Хотя на тройке мне не приходилось добавлять новые пункты, по памяти вроде бы на 2.5 это было сложнее.

P.S. ну и главное учитывайте, если это не ваш компонент и он обновляется - затрется хак
Спасибо! И с меня полагается)) Да, учту, с недавних пор вот такие маленькие хаки складываю в один файл с пометками изменений. А то я как-то наизменялся и обновился, выдрал все волосы на лысой голове, хорошо хоть откат был 2-х дневной давности) Щас заодно проверю, цепляется ли XML из папки переопределения в шаблоне сайта.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор edvalitto

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

Автор jimka

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

Автор Anna_N

Ответов: 3
Просмотров: 821
Последний ответ 06.01.2025, 02:45:52
от pavelrer
Проблема с меню

Автор denis_4

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

Автор THE KILLERS

Ответов: 2
Просмотров: 7162
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS