Новости 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 Гость просматривают эту тему.
  • 5 Ответов
  • 2472 Просмотров
*

numb169

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Всем привет! Знаю, что подобная тема была поднята для версии 2.5, и что всё дело в настройки пользователей, их групп и уровней доступа, прав в самой компоненте, и базовых правах в настройках системы, НО к сожалению конкретного решения нигде не нашёл, а оно очень нужно. Извиняюсь тысячу раз, если для кого то эта тема будет детской, и быть может даже туповатой, но больше обратиться мне не к кому. Итак, задача проста - нужно создать пользователя, у которого при входе в панель управления будет доступ ТОЛЬКО к одному компоненту. В данном случае - это Ksenmart. Я сделал следующее:
1. Создал группу пользователей ksen_manager, поставил родительскую группу - Public
2. Создал уровень доступа ksen_manager, поставил группы имеющие право доступа ksen_manager (может быть здесь должно быть что то еще)
3. Создал пользователя, закинул его в группу ksen_manager
4. Зашёл в общие настройки-права, в группе ksen_manager поставил разрешено все, кроме суперадминистратора
5. Зашёл в менеджер расширений-управление, нашёл компоненту Магазин KsenMart и на всякий случай Ядро Ksen, выделил их, нажал настройки и  в менеджере установки, во вкладке "права" выбрал группу ksen_manager, поставил все 4 действия (настраивать, управлять компонентом, удалять, изменять состояния) в разрешено. И ТУТ, самое неожиданное для меня, суммарное значение, показывает -Не разрешено (Заблокировано). Я подумал, что дело в настройках прав в самом Ксенмарте, поэтому полез туда: общие настройки-права, зашёл выбрал группу ksen_manager, там указаны значения для этих действий - разрешено, а рядом надпись КОНФЛИКТ, и  Не разрешено (Заблокировано). При этом если зайти под пользователем в панель управления, там естественно ничего нет.
 В общем я пробовал подойти с другой стороны, ставил родительскую группу ksen_manager - администратор, и в менеджер расширений-управление, выделял все кроме компонент и модулей ксенамарта и ставил права в ksen_manager запрещено. Но на это ноль внимания. Захожу под пользователем, а там все как и было. Я просто не понимаю, с чем идет конфликт, ведь везде группе ksen_manager стоит разрешить, может нужно где то поставить унаследовано? Я окончательно потерял надежду найти решение самому, поэтому обращаюсь к специалистам, помогите сделать так, что бы у пользователя из нужной группы был доступ только к одному компоненту в панели управления. Что бы он туда заходил, а там только магазин ксенмарт. Большая просьба описать все подробно, желательно пошаговую мини-инструкцию, буду очень благодарен. Если тема очень глупа, то понять и простить. Бьюсь над этим уже вторую неделю, очень хочется верить, что решение достаточно простое, но я окончательно запутался. Заранее, всем спасибо.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Есть небольшой опыт, попробую на пальцах объяснить.

Я создавал пользователя manager с правами администратора (он входит только в группу Administrator) и делал для группы Administrator следующие права:

- везде, где хотел закрыть доступ, выставлял запрет на настройку и управление компонентом (остальное блокировалось наследием свойств прав от этих двух): http://prntscr.com/8haroh

- везде, где хотел дать доступ, жестко разрешал все, что необходимо (в частности для менеджера пользователей: http://prntscr.com/8hat5q разрешено управление, но стоит запрет на настройку, который также запрещает управление учетками с правами суперадмина)

В результате для пользователя manager имеем разрешения: http://prntscr.com/8hatqw, http://prntscr.com/8haum2 доступ к материалам (имеет место быть ведение корпоративного блога), поиск (статистика), управление пользователями и спец.компонентом для ЛК пользователей во фронте (т.е. управление клиентами компании и данными для них). Все остальное ему запрещено

Не знаю, насколько правильно, но как-то так.
*

Cybervizor

  • Захожу иногда
  • 111
  • 8 / 0
Попробуйте установить ACL Manager. Там очень удобно настраиваются все права и исправляются конфликты доступа. Когда-то сталкивался с подобной проблемой в VirtueMart - ACL Manager как раз помог. Единственное - он платный.
*

numb169

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Про ACL Manager уже читал, но нет возможности сейчас приобретать платную версию, так сказать всё держится на голом энтузиазме))
Про группу администратора. Я закинул пользователя в группу "Администратор", зашёл в панель, а во вкладке компоненты нет Магазина Ксенмарт. Зашёл под суперадмином, в компонент ксенмарт-настройки-права, там стояло унаследовать (конфликт, заблокировано). Поставил разрешить, всё равно остался(конфликт, заблокировано). В общих настройках-права, у администратора стоит разрешить всё, кроме суперадмина. Не пойму, где конфликт
*

numb169

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Забыл самое главное указать, в компоненте КсенМарта, настройки-права, у всех групп пользователей будь то право разрешено или унаследовано стоит (конфликт, заблокировано) только у Public стоит запрещено. Даже у Super User стоит заблокировано, хотя когда даешь пользователю права суперюзера, он заходит и в списке компонент Ксенмарт магазин есть.
*

numb169

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Всем спасибо за ответы. Разобрался, как говорится с нуля. Решение:
1. Создать группу (ksen_manager), родителем поставить Public
2. Создать пользователя закинуть его в созданную группу (ksen_manager).
3. Дать группе ksen_manager уровень доступа Special, то есть зайти в этот уровень доступа и поставить галочку напротив ksen_manager
4. В общие настройки-права,  в группе ksen_manager ставим "разрешено"  Вход на сайт и Вход в панель управления, остальное "унаследовано"
5. Самое интересное. Заходим в компонент ксенмарт магазин, общие настройки-права. Ставим в группе ksen_manager разрешено всё кроме настройки, Настройка унаследована. Это мои пожелания, а Вы можете ставить как Вам нужно. НО, самое интересное, что нажав сохранить. Надпись (конфликт, заблокировано) остается. И для того что бы всё заработало, нужно в этих же настройках, этого компонента выбрать родительскую группу Вашей группы ksen_manager (Public) и поставить разрешено всё, кроме настройки, настройка запрещена. В общем после этого, можете заходить под Вашим пользователем, и видеть картину - в панели управления три вкладки- Панель управления, компоненты, Справка.
Если вдруг я что то написал не так, или не так понял, ошибся и т.д. Извиняйте, писал ответ с Высоты своего небольшого опыта. очень надеюсь на то, что кому-нибудь будет полезно данное решение. Всем ещё раз спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как установить header Cache-Control только для одной страницы по URL?

Автор Slava77

Ответов: 0
Просмотров: 999
Последний ответ 23.03.2024, 00:16:36
от Slava77
Модуль Похожие метки – только более ранние статьи!

Автор Gerostrat

Ответов: 6
Просмотров: 1281
Последний ответ 24.08.2023, 21:56:09
от sivers
Показать пункт меню только указанным IP

Автор palexa

Ответов: 4
Просмотров: 1091
Последний ответ 02.09.2022, 13:52:20
от darkghost
Как убрать название только с главной страницы?

Автор Scaltro

Ответов: 6
Просмотров: 1044
Последний ответ 14.08.2022, 21:14:20
от darkghost
Открывается только админка

Автор shizan

Ответов: 10
Просмотров: 927
Последний ответ 17.04.2022, 10:55:24
от shizan