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

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Список всех категорий
« : 27.02.2016, 11:52:37 »
Есть ссылка в меню на список всех категорий в одной родительской. Смысл в том, что если включить показ кол\ва материалов, то запрос отрабатывает очень долго и если их показ отключить то всё меняется в лучшую сторону ! НО дело всё в том, что их не отключить. Нет их показ конечно можно отключить, в настройках пункта меню или настройках компонента и это создаст видимость отключения... В запросе, в файле
/libraries/legacy/categories/categories.php в условии
Код: php
if ($this->_options['countItems'] == 1)
всегда true !

Код: php
var_dump($this->_options);

Код
array (size=6)
  'countItems' => boolean true
  'table' => string '#__content' (length=10)
  'extension' => string 'com_content' (length=11)
  'access' => string 'true' (length=4)
  'published' => int 1
  'currentlang' => int 0
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #1 : 27.02.2016, 12:03:50 »
Продолжу....
Вот эта строка
Код: php
$options['countItems'] = $params->get('show_cat_num_articles_cat', 1) || !$params->get('show_empty_categories_cat', 0);
в файле /component/com_content/models/categories.php
даёт true
Тогда я понять не могу, как нужно выставить в настройках, чтобы
Код: php
$options['countItems'] = false;
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Список всех категорий
« Ответ #2 : 27.02.2016, 12:06:41 »
Надо чтоб оба параметра были 0
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #3 : 27.02.2016, 12:08:35 »
Код: php
var_dump($options['countItems']);
var_dump($params->get('show_empty_categories_cat', 0));
var_dump($params->get('show_cat_num_articles_cat', 1));
Код
boolean true
int 0
string '0' (length=1)
Но как такое может быть, один из них строка ! И строка всегда true будет при наличии любого значения !
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Список всех категорий
« Ответ #4 : 27.02.2016, 12:09:57 »
Разве?
Выводить последние два без значения по умолчанию
*

voland

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

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #6 : 27.02.2016, 12:11:59 »
Может у кого есть J! 3.4.8 для тестов... кто проверит мои выводы...?
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #7 : 27.02.2016, 12:21:24 »
Но даже если сделать привести переменные к типу int, то условие будет false только при

Код
boolean false
int 1 - $params->get('show_cat_num_articles_cat', 1)
int 0 - $params->get('show_empty_categories_cat', 0)

Я уже даже не понимаю, это мой бред или реально ошибка...
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #8 : 27.02.2016, 12:22:20 »
Но даже если сделать привести переменные к типу int, то условие будет false только при

Код
boolean false
int 1 - $params->get('show_cat_num_articles_cat', 1)
int 0 - $params->get('show_empty_categories_cat', 0)

Я уже даже не понимаю, это мой бред или реально ошибка...
т.е. в настройках надо включить показ количества материалов и скрыть пустые категории...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Список всех категорий
« Ответ #9 : 27.02.2016, 12:27:48 »
Нет. Судя по коду выше там или. Значит оба 0
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #10 : 27.02.2016, 12:30:13 »
Вот при таких настройках условие false
Пустые категории - показывать
Кол-во материалов в категории - скрыть
Тогда обе переменные тип string
И это в настройке пункта меню, через настройки материалов почему-то не работает.
Если включить в настройках пункта "по умолчанию", то переменные становятся тип int и не меняются при изменении настроек в настройках материалов
« Последнее редактирование: 27.02.2016, 12:33:31 от Wertos »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Список всех категорий
« Ответ #11 : 27.02.2016, 13:04:00 »
Но как такое может быть, один из них строка ! И строка всегда true будет при наличии любого значения !
Код: php-brief
var_dump($test=0 || '0');
=bool(false)
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #12 : 27.02.2016, 13:07:49 »
Код: php-brief
var_dump($test=0 || '0');
=bool(false)
Да да... я дошёл до этого... Но почему-сделано у них странно, эти настройки только через пункт меню можно настроить...
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Список всех категорий
« Ответ #13 : 27.02.2016, 13:12:53 »
А вот например для блога категории наоборот ! Данные настройки работаю только через настройки компонента, а через меню не работают !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перестала работать почта на всех сайтах

Автор svarg

Ответов: 5
Просмотров: 1266
Последний ответ 23.02.2024, 22:05:51
от Vastriet
Долго грузятся страницы категорий

Автор SuperRomario

Ответов: 4
Просмотров: 1983
Последний ответ 03.07.2023, 17:59:07
от Wood
[Решено] Получить список тегов каждого материала в блоге категории

Автор goga_pgasovav

Ответов: 1
Просмотров: 855
Последний ответ 02.03.2023, 14:20:21
от goga_pgasovav
Как добавить текст на раздел без отображения на всех внутренних и статьях?

Автор Igor5

Ответов: 1
Просмотров: 1830
Последний ответ 24.11.2022, 18:35:04
от beliyadm
Выпадающий список и его высота

Автор androv77

Ответов: 7
Просмотров: 819
Последний ответ 16.11.2022, 12:56:39
от marksetter