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

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Всем привет!
Есть задача выделить избранные материалы в блоге категории, сортировку выставил, материалы показываются первыми, но хотелось бы их выделить цветом. Поэтому вопрос: Как Joomla помечает избранные материалы и можно ли как нить туда впихнуть свой класс?

Поясню: Сейчас стандартный шаблон формирует:

 <div class="span4">Материал 1 (избранный материал)</div><div class="span4">Материал 2</div><div class="span4">Материал 3</div>

А мне надо:

 <div class="span4 favorites">Материал 1 (избранный материал)</div><div class="span4">Материал 2</div><div class="span4">Материал 3</div>

То есть если материал избранный добавить класс favorites.

 
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
смотри в переопределении макета итема блога.
Код
\templates\ИМЯ_ШАБЛОНА\html\com_content\category\blog_item.php

доступ к свойству
Код
echo $this->item->featured;
Код
$my_class="";
if ($this->item->featured=="1") $my_class="featured";

далее ищем в шаблоне нужное место и выводим там переменную $my_class
*

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Код
$my_class="";
if ($this->item->featured=="1") $my_class="featured";
далее ищем в шаблоне нужное место и выводим там переменную $my_class
Привет! Спасибо за ответ, но к сожалению я в php не особо силен, знаю азы. Использую шаблон shaper_helixultimate, файл нашел, но не понимаю, что куда писать. Если не сложно и можешь подсказать или поправить данный файл, выложил его на Яндекс диск https://yadi.sk/d/sVEPjJrHim3ABw буду очень признателен.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну вот сюда попробуй дописать
Код
<div class="article-body">


Код
<?php
$my_class="";
if ($this->item->featured=="1") $my_class="featured";
?>
<div class="article-body <?php echo $my_class;?>">


*

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
ну вот сюда попробуй дописать
Код
<div class="article-body">
Код
<?php
$my_class="";
if ($this->item->featured=="1") $my_class="featured";
?>
<div class="article-body <?php echo $my_class;?>">

Спасибо, работает. Помог)))) Меня такое полностью устроит, но задам вопрос на будущее, а такое же можно реализовать в файле blog.php - в той же папке?

Код
	<?php if (!empty($this->intro_items)) : ?>
<div class="article-list">
<div class="row">
<?php foreach ($this->intro_items as $key => &$item) : ?>
<div class="col-md-<?php echo round(12 / $this->columns); ?>">
<div class="article <?php echo $item->state == 0 ? ' system-unpublished' : null; ?> ВОТ СЮДА НАДО ВСТАВИТЬ КЛАСС"
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<?php
$this->item = & $item;
echo $this->loadTemplate('item');
?>
</div>
<?php $counter++; ?>
</div>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
Вот мне бы вставить данный класс сюда <div class="article <?php echo... Попробовал туже конструкцию в этом файле так не работает((((( Мне просто бы чуть выше на один div от article-body.

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Менеджер материалов » Избранные материалы - где редактировать?

Автор dron

Ответов: 8
Просмотров: 2116
Последний ответ 22.07.2019, 16:31:02
от dron
Не добавляет материалы с фронтэнда?

Автор atolic

Ответов: 1
Просмотров: 707
Последний ответ 11.02.2019, 13:27:40
от atolic
Материалы по категориям на главной странице

Автор Сергей Иванов

Ответов: 18
Просмотров: 1333
Последний ответ 05.02.2018, 07:42:05
от kern.USR
Вывод title в любом месте шаблона

Автор lalalag

Ответов: 10
Просмотров: 2250
Последний ответ 09.10.2017, 16:27:44
от NewUsers
Вывод картинки в модуле Материалы-Самые читаемые

Автор skytype

Ответов: 3
Просмотров: 1160
Последний ответ 24.07.2017, 11:42:19
от NewUsers