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

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
Существует ли возможность автоматического (!) размещения изображений компонентов Joomla на других доменах?
Например для com_content, com_jshopping ?

Прошу подскажите литературу хотя  бы по данному вопросу
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
Поищите на JED
А что значит cookie-free?

согласно YSlow:
Цитировать
Use cookie-free domains -Serve static content from a different domain to avoid unnecessary cookie traffic.

пример с контактика

Код
GET common.js?1129_178 [b]vk.com[/b]
Response Headers
Server Apache
Date Thu, 24 Dec 2015 19:35:07 GMT
Content-Type application/x-javascript
Last-Modified Wed, 23 Dec 2015 19:12:55 GMT
Transfer-Encoding chunked
Connection keep-alive
Etag W/"567af237-3e30b"
Expires Mon, 28 Dec 2015 19:35:07 GMT
Cache-Control max-age=345600
Content-Encoding gzip
Request Headers
Host vk.com
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0
Accept */*
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
Referer http://vk.com/моя страница))
Cookie remixlang=3; remixlhk=5ec2d0e37da3e53067
Connection keep-alive


Код
GET a_a4b0e0ff.jpg [b]cs11504.vk.me[/b]
Response Headers
Server Apache
Date Thu, 24 Dec 2015 19:35:08 GMT
Content-Type image/jpeg
Content-Length 22731
Last-Modified Fri, 16 Mar 2012 07:14:28 GMT
Connection keep-alive
Etag "4f62e854-58cb"
Expires Sun, 10 Jan 2016 19:35:08 GMT
Cache-Control max-age=1468800
Accept-Ranges bytes
Request Headers
Host cs11504.vk.me
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0
Accept image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
Referer http://vk.com/моястраница
Connection keep-alive

со статичечского домена куки не идут

картинки и статический контент другой на другом  домене - реально вообще в Joomla?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Цитировать
unnecessary cookie traffic.
Бредятина.
Идите на форум этого YSlow и спрашивайте что за бред они несут!
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Реализовал такое у себя на сайте. Полный Cookie-less! Плагин самописный. Единственное, что не удалось побороть, — это cookie, устанавливаемые Яндексом. Реализовано просто: статические ресурсы тянутся с поддомена www. — все остальные с домена второго уровня non-www.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Профит есть, если на сайт каждый день заходит миллионов 5 человек. Экономия трафика. Также есть небольшое ускорение, когда на страничке куча статических ресурсов и тяжёлые cookie. Я же в свободное время упражнялся в модификации буфера вывода — ну для меня это что-то вроде разгадывания кроссвордов :)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
если на сайт каждый день заходит миллионов 5 человек.
Ну да, конечно, как я мог допустить, что у ТС сайт посещает менее 5 млн человек в день!
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
Реализовал такое у себя на сайте. Полный Cookie-less! Плагин самописный. Единственное, что не удалось побороть, — это cookie, устанавливаемые Яндексом. Реализовано просто: статические ресурсы тянутся с поддомена www. — все остальные с домена второго уровня non-www.

можно подробнее? непонятно зачем нужен такой способ снижения траффика, но интересно.

*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Ну, это из той же серии, что сжатие HTML. Чем меньше размер файла, тем быстрее он закачивается. В случае с cookie, они отдаются на сервер при запросах к любому файлу. Средний размер кук — 40 байт. В среднем, устанавливается 5 кук. Представим, что на странице 5 скриптов, 5 стилей, 30 изображений. Умножаем 40 на 40, получаем 1600 байт. 1600 байт умножаем на 5 — получаем 8 Кбайт. Теперь представим, что пользователь посетил 10 страниц, получаем 80 Кбайт. Умножаем 80 Кбайт на 5 млн, получаем 400 Гигабайт.

При каждом посещении страницы браузер передаёт на сервер 8 Кбайт ненужных данных. Имеет ли это значение? Смотря с чем сравнивать. Сервер не отдаст ресурс, пока не загрузит от клиента куки. Как результат, время ответа для статических ресурсов хоть и незначительно, но повышается.
« Последнее редактирование: 25.12.2015, 05:20:22 от Филипп Сорокин »
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
 это понятно. как ты реализовал на субдомене основного домена?
« Последнее редактирование: 25.12.2015, 05:28:36 от capricorn »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Ну как, просто написал для изображений вместо site.ru другой сайт www.site.ru. А вообще, если серьёзно заморачиваться с этим, то нужно грузить статику с нескольких поддоменов — это действительно широко используется на крупных проектах. В принципе, можно написать скрипт, который будет распределять статику равномерно. Не так, что на один поддомен 5 файлов, а на другой — 105. Все поддомены, разумеется, должны быть привязаны к одной директории сервера.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.12.2015, 18:24:13 от capricorn »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
для особо тупых - повторю вопрос. как ты это сделал на субдомене без внешнего домена?
Ну если вопрос для особо тупых, отвечайте на него сами :)
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.12.2015, 18:24:33 от capricorn »
*

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
Ну да, конечно, как я мог допустить, что у ТС сайт посещает менее 5 млн человек в день!

Я создал тему чтобы мне кто-нибудь подсказал  а не оффтопил и не глумился, какая вам разница сколько у ТС человек в день?
Вы мне сказали на Jed  искать - спасибо за совет, но если ответа не знаете зачем флудить то?
Есть куча соседних веток где люди пытаются создать материал или пункт меню - пожалуйста помогайте там.


*

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
Ну, это из той же серии, что сжатие HTML. Чем меньше размер файла, тем быстрее он закачивается. В случае с cookie, они отдаются на сервер при запросах к любому файлу. Средний размер кук — 40 байт. В среднем, устанавливается 5 кук. Представим, что на странице 5 скриптов, 5 стилей, 30 изображений. Умножаем 40 на 40, получаем 1600 байт. 1600 байт умножаем на 5 — получаем 8 Кбайт. Теперь представим, что пользователь посетил 10 страниц, получаем 80 Кбайт. Умножаем 80 Кбайт на 5 млн, получаем 400 Гигабайт.

При каждом посещении страницы браузер передаёт на сервер 8 Кбайт ненужных данных. Имеет ли это значение? Смотря с чем сравнивать. Сервер не отдаст ресурс, пока не загрузит от клиента куки. Как результат, время ответа для статических ресурсов хоть и незначительно, но повышается.

Уважаемый Филипп,  это вы через .htaccess  сделали? Или как?
Подскажите где почитать можно ?
*

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
теоретически я  вижу частичное решение через js

все переопределенные шаблоны правятся  c

<img href=''basedomain.com/picture.jpg">

на

<img data-picture="'basedomain.com/picture.jpg"> 

а дальше уже js обрабатывает страницу и вместо basedomain.com вставляет нужный, например static.domain.com

Но как заставить Joomla сохранять картинку на static.domain.com?

можно конечно вручную заливать туда, но если на сайте работает phpthumb например? Где там прописать в ядре чтобы картинку он сохранял на другом домене?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
теоретически я  вижу частичное решение через js

все переопределенные шаблоны правятся  c

<img href=''basedomain.com/picture.jpg">

на

<img data-picture="'basedomain.com/picture.jpg"> 

а дальше уже js обрабатывает страницу и вместо basedomain.com вставляет нужный, например static.domain.com

Но как заставить Joomla сохранять картинку на static.domain.com?

можно конечно вручную заливать туда, но если на сайте работает phpthumb например? Где там прописать в ядре чтобы картинку он сохранял на другом домене?

Это достигается при помощи плагинов, парсинга буфера вывода регулярными выражениями и подмена домена "на лету". Можно и при помощи JS это сделать, да — модификация DOM. Есть масса инструментов для подобного выстрела из Царь-Пушки по воробьям.

Цитировать
Уважаемый Филипп,  это вы через .htaccess  сделали? Или как?
Подскажите где почитать можно ?

В .htaccess закрыл доступ к поддомену www. для запросов ко всем ресурсам кроме статических. Остальное сделал на PHP.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
@ Филипп Сорокин

Прошу прощения за резкие комментарии. в продолжение темы.
http://www.ravelrumba.com/blog/static-cookieless-domain/
некоторые ссылки из этого URL 18+.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 4887
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 1276
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 1640
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 2842
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 3249
Последний ответ 27.03.2025, 10:40:29
от wishlight