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

varion

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Здравствуйте!
Есть потребность настроить отображение Списка элементов для меток аналогично блогу категорий.
Но метки, при этом, у материалов не выводятся: только заголовок, описание и изображение.
Подскажите, как можно добавить (включить) такой функционал?
*

varion

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Разбирая шаблон default_items.php у com_tags/tag увидел что в $item нет данных с тегами. Смотрел для сравнения аналогичный default_items.php для блога категорий, там есть.
Может кто-нибудь подсказать, как в данные $item добавить теги?
*

Leva27

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
  • Дальвебстудия
*

Leva27

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
  • Дальвебстудия
А как сделать в три колонки этот список (и желательно, чтобы он формировался сначала слева-направо, а потом сверху-вниз, а не наоборот), как в блоге категории?
*

varion

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Это не оно? http://joomlaforum.ru/index.php/topic,282086.0.html
Это для блога категории (другой тип пункта меню). Пробовал это применить к списку элементов метки, не работает. Там в данных нет tags.
*

varion

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Я ошибся. Это как раз то. Я не посмотрел, что перед выводом сначала теги получаются... понял это когда исправил добавил аналогичные строки в модель тега, перемудрил, но разобрался. Спасибо!
Цитировать
А как сделать в три колонки этот список
1. Создаём папку templates/шаблон/html/com_tags/tag, копируем туда файл default_items.php из components/com_tags/views/tag/tmpl;
2. В файле нужно заменить вывод. Код начинающийся с
Код: php
<?php foreach ($items as $i => $item) : ?>
заменяем на следующий:
Код: php
<?php $colCount = 3; ?>
<?php foreach ($items as $i => $item) : ?>
                        <?php if ($i % $colCount == 0) : ?>
                            <div class="row-block cat-list-row">
                        <?php endif; ?>
<?php if ($item->core_state == 0) : ?>
<div class="list-item system-unpublished">
<?php else: ?>
<div class="list-item" style="width:200px; display: inline-block; vertical-align: top;">
<h3>
<a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">
<?php echo $this->escape($item->core_title); ?>
</a>
</h3>
<?php endif; ?>
<?php echo $item->event->afterDisplayTitle; ?>
                        <?php /*=== tags ===*/
$tagsHelper = new JHelperTags;
$tags = $tagsHelper->getItemTags('com_content.article', $item->content_item_id);
 
if (!empty($tags)) {
$tagLayout = new JLayoutFile('joomla.content.tags');
echo $tagLayout->render($tags);
}
/* === end tags === */?>
<?php $images  = json_decode($item->core_images);?>
<?php if ($this->params->get('tag_list_show_item_image', 1) == 1 && !empty($images->image_intro)) :?>
<img src="<?php echo htmlspecialchars($images->image_intro);?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>">
<?php endif; ?>
<?php if ($this->params->get('tag_list_show_item_description', 1)) : ?>
<?php echo $item->event->beforeDisplayContent; ?>
<span class="tag-body">
<?php echo JHtml::_('string.truncate', $item->core_body, $this->params->get('tag_list_item_maximum_characters')); ?>
</span>
<?php echo $item->event->afterDisplayContent; ?>
<?php endif; ?>
</div>
                        <?php if (($i % $colCount == ($colCount -1)) || ($i == count($this->items)-1)) : ?>
                            </div>
                        <?php endif; ?>
<?php endforeach; ?>
Код этот особо не тестировал, но приблизительно так.
Стили в CSS выносим. Если ширина для списка не фиксированная, то можно просто выводить без строк блоки  с фиксированной шириной и они сами будут размещаться столько сколько влезет. Правда могут быть проблемы с выравниванием по верхнему краю нескольких элементов.
*

ryanN#603

  • Новичок
  • 2
  • 0 / 0
Есть потребность настроить отображение Списка элементов для меток аналогично блогу категорий.
Но метки, при этом, у материалов не выводятся: только заголовок, описание и изображение.
Подскажите, как можно добавить (включить) такой функционал?

А как по-мимо меток добавить ещё вывод дополнительной информации, конкретно автор, категория и кол-во просмотров статьи?
Создавал отдельно тему но никто не отвечает. Заранее спасибо!
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
*

Toxa33

  • Захожу иногда
  • 81
  • 0 / 0
не нашлось решения как вывести дату и категорию?
*

Toxa33

  • Захожу иногда
  • 81
  • 0 / 0
Нашел как дату вставить, нужно дописать в /com_tags/tag/default_items.php в нужном месте строчку
Код
	<?php echo JHtml::_('date', $item->core_created_time, JText::_('DATE_FORMAT_LC2')); ?>

С выводом категории, что то не получается >:(
*

Toxa33

  • Захожу иногда
  • 81
  • 0 / 0
ап
неужели никто не придумал как вывести категорию в списке элементов меток?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двойное меню

Автор cirip

Ответов: 0
Просмотров: 1502
Последний ответ 05.11.2024, 23:19:21
от cirip
Какой файл управляет выводом страницы для редактирования материалов с фронта?

Автор alnorton

Ответов: 2
Просмотров: 1919
Последний ответ 23.05.2024, 21:43:41
от alnorton
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4683
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 7418
Последний ответ 23.05.2023, 07:22:49
от geral
Модуль вывода похожих материалов с картинками

Автор Besa

Ответов: 3
Просмотров: 3381
Последний ответ 20.04.2023, 20:25:50
от beliyadm