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

Baton

  • Новичок
  • 8
  • 0 / 0
Joomla 3.7.2
Cразу предупрежу - искал ответ, но не нашел, так что если и ругайте - то только за то что "темный", а не еще и "ленивый" :)

Cуть вопроса в том, что нужно вставить html-код сразу после тега <head>
Иду в свой шаблон открываю index.php и вижу:
Спойлер
[свернуть]
Подскажите куда именно нужно вставлять?
*

Baton

  • Новичок
  • 8
  • 0 / 0
Нашел head.php по адресу libraries/joomla/document/html/renderer
Там тоже что-то подобное:
Спойлер
[свернуть]
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Ищите получше в папках шаблона, возможно в папке layouts
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
поищите в папке шаблона по файлам вхождение строки "<head>". например Total Commander так умеет, или Notepad++
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а давайте сначала определимся, что же именно надо вставить сразу после <head>?

некоторые шаблонизаторы устроены таким мегахитрым способом, что секция head формируется где-то глубоко внутри, возможно даже за пределами шаблона; гантри - не самый простой фрейм для новичка, может не стоит лезть в код и попробовать отыграть другими способами?
*

Olg

  • Завсегдатай
  • 1182
  • 90 / 2
*

Baton

  • Новичок
  • 8
  • 0 / 0
Ищите получше в папках шаблона, возможно в папке layouts
Спасибо. Искал до того, как задать вопрос. В папке layouts только файлы framework-а *.yaml

поищите в папке шаблона по файлам вхождение строки "<head>". например Total Commander так умеет, или Notepad++
Спасибо. Так же искал ранее. Но единственный файл, который содержит вхождение <head> - это файл страницы "ошибки 500".

а давайте сначала определимся, что же именно надо вставить сразу после <head>?

некоторые шаблонизаторы устроены таким мегахитрым способом, что секция head формируется где-то глубоко внутри, возможно даже за пределами шаблона; гантри - не самый простой фрейм для новичка, может не стоит лезть в код и попробовать отыграть другими способами?
Код Google AdSense.


*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
единственный файл, который содержит вхождение <head> - это файл страницы "ошибки 500".
блин меня пугают такие шаблоны :) у разработчиков фантазия... как бы подобрать слово чтобы не обидеть... :)

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код Google AdSense.
а разве его следует вставлять в head? приведите полностью пример вставляемого кода
*

Baton

  • Новичок
  • 8
  • 0 / 0
Шаблон на фреймворке Gantry 5.
В plugins, к сожалению, тоже никаких намеков. Есть 2 php файла? которые к нему относятся, (в том числе один в папке system) с набором функций, внутри которых тоже не нашел ничего близкого к решению моей проблемы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а разве его следует вставлять в head?
так хоть куда, хоть в head хоть в body :) body я тоже в index.php не очень наблюдаю :)

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

AlekVolsk

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

Baton

  • Новичок
  • 8
  • 0 / 0
а разве его следует вставлять в head? приведите полностью пример вставляемого кода
Цитирую Google:
Связь сайта с аккаунтом AdSense
Это несложно.
1 Скопируйте приведенный ниже код.
2 Вставьте этот фрагмент в HTML-код сайта www.yoursite.com сразу после тега <head>.
3 По завершении установите флажок и нажмите "Готово".
Код:
Код
[script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"][/script]
[script]
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-0000405759260000",
    enable_page_level_ads: true
  });
[/script]
Тэг <script> специально взят в квадратные скобки - по другому не хотел поститься.
*

dmitry_stas

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в архиве есть файл nucleus\templates\page_head.html.twig , похоже это он. просто по имени файла поищите - "page_head.html.twig". вот только да, походу проще написать плагин... пипец фреймворк...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
так и я про тоже...

есть какая-либо позиция в подвале фронта, выводимая на всех страницах? туда модуль кастом-хтмл с вашим кодом (вставлять без редактора)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
вся разметка гантри формируется за пределами шаблона в библиотеке, которая периодически обновляется, трогать ее нельзя
*

dmitry_stas

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

Baton

  • Новичок
  • 8
  • 0 / 0
вся разметка гантри формируется за пределами шаблона в библиотеке, которая периодически обновляется, трогать ее нельзя
Я могу создать любую секцию, которая будет выводиться на всех страницах сайта.
И не будет подвержена изменениям после очередного обновления.
И конечно же могу вставить в нее Custom-HTML.
Я переживал, что этот код должен быть помещен именно между тегами <head>
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
этот код лучше всего спускать в самый низ страницы, перед </body>
*

Baton

  • Новичок
  • 8
  • 0 / 0
AlekVolsk, скажите пожалуйста, если я создам секцию где-то в footer-области, и помещу в нее Custom-HTML с кодом предлагаемом Google - это будет решением задачи, которая передо мной стоит?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
да, это будет решением задачи
*

Baton

  • Новичок
  • 8
  • 0 / 0
Спасибо.
Значит так и сделаю.
Создам секцию, помещу в нее Custom-HTML и вставлю в него требуемый код.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1388
Последний ответ 21.05.2025, 12:44:06
от jeans
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 1580
Последний ответ 24.03.2025, 20:33:02
от R31rus
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1464
Последний ответ 24.03.2025, 20:03:01
от R31rus
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1434
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 851
Последний ответ 22.11.2024, 07:14:15
от stepan39