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

Shustry

  • Moderator
  • 6434
  • 745 / 3
Сорри, не нашёл что-то ссылки.
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
сорри, это я не объяснил
в самом низу domain.com/article/?tmpl=component
есть кнопка "Подписывайтесь", вот она и идёт с анкором
« Последнее редактирование: 01.02.2014, 00:03:11 от 01Kuzma »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Там scrolltop любой нужно повесить. Делов то на минуты считанные.
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Спасибо!
Я уже сам склонялся к какому нибудь стороннему скрипту
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Эх, к сожалению и с другой библиотекой то же самое...
Ведь открытый в браузере адрес идёт с параметром ?tmpl=component, т.е.
domain.com/article?tmpl=component
а как только я прописываю параметр в ссылку, через материал, то ссылка имеет уже такой урезанный адрес:
domain.com/?tmpl=component#scroll
что естественно, не правильно

Т.е. в материале, в ссылке прописываю вместо #scroll -> ?tmpl=component#scroll
« Последнее редактирование: 01.02.2014, 00:02:56 от 01Kuzma »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Не совсем так это делается. Собственно, там даже не нужна. Там желателен другой тэг. Главное с отличительным классом или id. Далее просто подключаете любой понравившийся плагин скролла. Допустим функция будет называться scrolltotop(). Теперь ниже подключенного плагина пишите такой скрипт (в подключенном js или в теле, без разницы):
Код: javascript
$('#mylink').scrolltotop();
Где mylink — id элемента, после клика на который должна страница вверх мотаться., а scrolltotop — функция, которая определена в файле плагина, который вы подключите.
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
У меня так и сделано :)
Подключен jQuery, потом скрипт:
Код
jQuery(document).ready(function($) {
 
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});
});
</script>
Соответственно к нужному элементу прописан id="scroll", а кнопка, которая вызывает эту функцию:
Код
<a href="#scroll" class="action-button col-md-2 col-md-pull-2">Подписывайтесь!</a>
Но, при её нажатии, или если поднести курсор и увидеть полный адрес, виден следующий URL:
domain.com/article#scroll
т.е. без параметра
Код
?tmpl=component
в таком случае, при нажатии на кнопку, прокрутки не будет, а страница перезагрузится без альт. макета. Гляньте мою ссылку, поймёте что я имею в виду :)
« Последнее редактирование: 01.02.2014, 00:03:32 от 01Kuzma »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Потому что это ссылка. Я рекомендовал в любой другой элемент переделать. Но, если не переделывать, то можно так вот подправить сам срипт:

Код: javascript
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
//event.preventDefault(); эта строка по-моему лишняя, закомментил.
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
return false; //— а вот этой не хватает.
});
});
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Обновил пример, но к сожалению не помогло :(
А в другой элемент? К примеру как?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Вместо:

Код: html4strict
<a href="#scroll" class="action-button col-md-2 col-md-pull-2">Подписывайтесь!</a>

Нужно написать

Код: html4strict
<a id="scroll" href="#тут можно писать что угодно, ссылка всё равно работать не будет" class="action-button col-md-2 col-md-pull-2">Подписывайтесь!</a>

Т.е. событие мы вешаем на id элемента. id="scroll" здесь ключевая запись.
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
В пример добавил обе кнопки... тоже не пашет :(
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Вместо

 $(".scroll").click(function(event){

Надо

 $("#scroll").click(function(event){
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
обновил, так же :(
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Щас, на вскидку, всё должно работать. Почему нет — хз. Пока не знаю чем помочь.
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Кстати, всё позже решил с помощью плагина Chameleon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Helix 3 : Open Graph - не та подпись к ссылке на сайт в FB и не отражается картинка и в ВК, и в FB

Автор lesovik

Ответов: 1
Просмотров: 1759
Последний ответ 23.01.2021, 18:46:15
от gorbi_U
Где отредактировать макет RSS ленты? [РЕШЕНО]

Автор dm-krv

Ответов: 37
Просмотров: 4285
Последний ответ 24.04.2019, 21:04:02
от ProtectYourSite
Альтернативный макет в категории материалов

Автор Zelyonkin

Ответов: 7
Просмотров: 1903
Последний ответ 21.01.2019, 01:22:04
от voland
Макет в виде таблицы

Автор Папа Вовы

Ответов: 12
Просмотров: 1495
Последний ответ 05.05.2018, 00:24:45
от Папа Вовы
Макет вывода материалов К2 не режет картинки

Автор WinssLioN29

Ответов: 0
Просмотров: 709
Последний ответ 15.02.2018, 19:38:59
от WinssLioN29