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

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Хочу написать плагин, который будет в указанное время, в настройках плагина, проверять новые записи в БД и делать рассылку на e-maill пользователей.
Средствами крона сервера не проблема, а вот, как средствами самой Joomla-это вопрос.
Ведь вроде поэтому же принципу работает и плагин уведомлений о новой версии Joomla.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
ну так загляни в этот плагин и посмотри сам )
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
смотрел, не до кумекал (
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
см контроллер update com_installer
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а еще посмотри плагин группы quickicon extensionupdate, там вызывается все тот же com_installer аяксом, делай по аналогии
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
А не в курсе, ACY Mailling, он по какому принципу делает "свой крон" рассылки?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Я думаю вопрос состоит в том как запускается плагин без крона. Кстати тоже интересен принцип, но лень смотреть )
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Я думаю вопрос состоит в том как запускается плагин без крона. Кстати тоже интересен принцип, но лень смотреть )
В точку! Вот этот вопрос! И не лень, я не могу понять логику.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
любой плагин должен быть вызван по наступлению события. событие само по себе тоже просто так не происходит - триггер всегда где-то чем-то вызывается
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
А ни кто не делал плагин (или код) на основе расписания уведомлений без крона? На уровне ядра.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
думаю, там ничего сложного нет: пиши свой компонент, в котором организовывай логику календаря и действий, к нему привязанных, затем пиши системный плаг на onAfterInitialize() и проверяй наступление часа X: совпало - вызываем указанное действие и помечаем, что оно уже выполнено (или не выполнено, по таким-то указанным причинам)
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Спасибо Алек, буду тупить в логику...
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
AcyMailing, полагаю, просто использует cron, либо на своем сервере, либо на сервере клиента.
Вариант проверки метки времени и статуса выпоняемой задачи годится только при условии запуска системы до заданного времени Х. Иначе никак нельзя совершать нужное действие в нужное время.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
 2 Роберт, а есть зависимость от посещения сайта юзерами на фронте?
Т.е. если сайт не посещается, логика обновлений (например версии J) работает независимо?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Иначе никак нельзя совершать нужное действие в нужное время.
Можно с помощью демона, но он тоже зависит от состояния сервера. Например, при запросе страницы запускается проверка, есть демон или нет. Если есть, действие не выполняется, если демона нет, он запускается (например, если сервер был перезагружен). А демон уже сам контролирует по метке времени. Как вариант, без крона... Но в этом случае если сайт не посещается, а сервер был перезагружен, то и демон не будет запущен. Этот вопрос можно кроном решить (но тут и демон не нужен, запускаем нужный скрипт кроном, и все).
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Т.е. если сайт не посещается, логика обновлений (например версии J) работает независимо?
ага :) Joomla же пишут волшебники :) ее даже устанавливать не нужно, она и так сообщит :)

Но в этом случае если сайт не посещается, а сервер был перезагружен, то и демон не будет запущен
можно и демона запускать при загрузке. но зачем? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
2 Роберт, а есть зависимость от посещения сайта юзерами на фронте?
Т.е. если сайт не посещается, логика обновлений (например версии J) работает независимо?
Образно, плагин - это введенный курок. Если его не спускать, то оружие не выстрелит: оно просто будет лежать в ожидании с зарядом в стволе.
Можно с помощью демона
Так cron - тот же daemon.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а можно еще сторонний сервис поднять, который пинговать сайт будет :) вариантов уйма, выбирай любой :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
а можно еще сторонний сервис поднять, который пинговать сайт будет :) вариантов уйма, выбирай любой :)
Да, IMHO, AcyMailing, про которую vipiusss спрашивал, так и делает.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
сторонний сервис поднять, который пинговать сайт будет :)
Перефразирую:
сторонний сервис поднять, который по крону пинговать сайт будет.

Короче лень поборол залез в плагин, все весьма тривиально.
Висит плагин на AfterRender() ну то бишь запускается при каждом посещении сайта (грубо говоря);
Что делает:
1. Получает параметры com_installer через (JComponentHelper)
2. Затем проверяет прошло достаточно времени с последнего скана.
3. Если прошло до обновляет запись в базе (Устанавливает время).
Ну а затем конектиться к модели проверяет версию и т.д

Вывод если у сайта мленькая или не частая посещаемость в топку его.


Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
2 Septdir спасибо!
Вывод если у сайта мленькая или не частая посещаемость в топку его.
А если сайт с "0", в топку тоже?

Цель: активность без крона(демонов или иных неадекватов;) и посещаемости.
« Последнее редактирование: 02.04.2017, 14:19:56 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
2 Septdir спасибо!
А если сайт с "0", в топку тоже?
Цель: активность без крона(демонов или иных неадекватов;) и посещаемости.
Ну по сути получается что да.

О сюда опять таки вопрос от куда лучше узнавать об обновлениях. Ну так чтобы что нибудь пиликало . Типа твитера или подписки по имейл.
Кстати можно сайт сделать с такой подпиской. Типо по крону запускать проверку версии.  И если вышла новая делать рассылку и обновляться.
« Последнее редактирование: 02.04.2017, 14:22:21 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Пиликалка-это ответная реакция.

Есть цель: выше.
Для кода есть условие: (должно быть) каждый понедельник(например) в 8 утра торбить юзеров из БД!
Вот это я хочу: независимо от крона, демонов, иных иродов, посещаемости, ещё каких-то глупостей, написать в плагине рассылку файла, кода, всё равно чего!

Вот цель, и не могу понять как!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Пиликалка-это ответная реакция.

Есть цель: выше.
Для кода есть условие: (должно быть) каждый понедельник(например) в 8 утра торбить юзеров из БД!
Вот это я хочу: независимо от крона, демонов, иных иродов, посещаемости, ещё каких-то глупостей, написать в плагине рассылку файла, кода, всё равно чего!

Вот цель, и не могу понять как!

Думаю это в принципе не возможно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Можно, извращаясь: 1 раз запустить скрипт, который через каждый 30 сек вызывает сам себя.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Нет невозможного. Надо понять как обмануть это "невозможное".
Если вирт крон написать для плагина? Опять же палки в колёсах.
... Короче, думаю пока и пробую. Если есть подсказки, варианты, буду только рад этому.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Можно, извращаясь: 1 раз запустить скрипт, который через каждый 30 сек вызывает сам себя.
Нагрузка на БД идёт колоссальная. Я пробовал.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
думаю, там ничего сложного нет: пиши свой компонент, в котором организовывай логику календаря и действий, к нему привязанных, затем пиши системный плаг на onAfterInitialize() и проверяй наступление часа X: совпало - вызываем указанное действие и помечаем, что оно уже выполнено (или не выполнено, по таким-то указанным причинам)
Вот же метод.
Ну не будет работать на локальных копиях и ладно
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Вот же метод.
Ну не будет работать на локальных копиях и ладно

Т.е. опять привязка к серверу. А мне надо: привязка к дате, не к серваку, не провайдеру... к дате!
Я ставлю дату, время=плагин включается и рассылает!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Вот же метод.
Ну не будет работать на локальных копиях и ладно
Чтобы этот метод срабатывал надо чтобы кто-то зашел на сайт.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для транслитерации имен загружаемых файлов

Автор KSS

Ответов: 5
Просмотров: 2769
Последний ответ 02.10.2025, 09:57:13
от Леон
Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1382
Последний ответ 21.05.2025, 12:44:06
от jeans
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 1636
Последний ответ 09.05.2025, 12:39:18
от azm1n
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1955
Последний ответ 06.04.2025, 09:27:20
от wishlight
Не удается поменять название почты в мобильной версии ((

Автор stitch808

Ответов: 7
Просмотров: 1504
Последний ответ 27.03.2025, 23:23:58
от azm1n