Новости 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

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 1901 Просмотров
*

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Такой простой вопрос: что и в какой консерватории чуть подправить, чтобы теги под (над) статьёй выводились с решётками? Например, есть статья, под ней теги Joomla, news, release, version. А хотелось бы, чтобы выводилось #joomla, #news, #release, #version. При этом, линки под тегами оставались бы теми же самыми. Чисто косметическая правка.

Заранее спасибо за советы.  *DRINK*
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
поправить в CSS через псевдокласс :before и content

Код
.tags:before {
content: "#";
}

где .tags - класс элемента метки. зависит от шаблона
*

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Идея отличная, но у меня беда. Класс есть только у первых двух тегов, если это список статей вида "Блог" и только у последнего тега, если зайти внутрь статьи. =(

Код
<div class="tags">
    <span>Tags: </span><a href="/component/tags/tag/joomla" class="" rel="tag" title="joomla">joomla</a>,
             <a href="/component/tags/tag/joomla" class="" rel="tag" title="joomla">joomla</a>,
             <a href="/component/tags/tag/news" class="" rel="tag" title="news">news</a>,
             <a href="/component/tags/tag/release" class="" rel="tag" title="release">release</a>,
             <a href="/component/tags/tag/version" class="label label-info" rel="tag" title="version">version</a>
</div>

Почему так рендерится - не понимаю.

В шаблоне накопал файл /html/layouts/joomla/content/tags.php
Темплейт на движке Helix "shaper_news365". Видимо, здесь формируется список с пропущенными классами? Но я ничего криминального не вижу. Берётся переменная $link_class и честно выводится.

Код
defined('JPATH_BASE') or die;

use Joomla\Registry\Registry;

JLoader::register('TagsHelperRoute', JPATH_BASE . '/components/com_tags/helpers/route.php');

?>
<?php if (!empty($displayData)) : ?>
       <div class="tags">
           <span><?php echo JText::_('HELIX_TAGS'); ?>: </span>
                <?php foreach ($displayData as $i => $tag) : ?>
                       <?php if (in_array($tag->access, JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')))) : ?>
                                <?php $tagParams = new Registry($tag->params); ?>
                                <?php $link_class = $tagParams->get('tag_link_class'); ?>
                                <a href="<?php echo JRoute::_(TagsHelperRoute::getTagRoute($tag->tag_id . '-' . $tag->alias))?>" class="<?php echo $link_class; ?>" rel="tag"><?php echo $this->escape($tag->title); ?></a><?php if($i != (count($displayData)-1)) echo ','; ?>
                          <?php endif; ?>
                <?php endforeach; ?>
         </div>
<?php endif; ?>
*

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Спасибо!  :D

Так работает отлично. Вроде бы, везде, где надо, есть решёточки.

Код
[rel="tag"]:before{content: "#";}

А я уж думал как-нибудь дописать решётку в эту строку вывода:

Код
<a href="<?php echo JRoute::_(TagsHelperRoute::getTagRoute($tag->tag_id . '-' . $tag->alias))?>" class="<?php echo $link_class; ?>" rel="tag"><?php echo $this->escape($tag->title); ?></a><?php if($i != (count($displayData)-1)) echo ','; ?>

Наверное, и так можно.
*

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Кстати, выведенные таким образом решётки я не могу скопировать, выделив текст мышкой. Копиhetncz только оригинальный текст тегов, без знаков "#".
*

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Да не, всё ок. Вам большое спасибо за ваш способ. Он прост и изящен.
Но у меня раздумья, а поисковик как проиндексирует такие теги? А вот я хотел бы, чтобы он с решётками их засосал. Посмотреть что будет.

Наверное, следует так:

Код
<a href="<?php echo JRoute::_(TagsHelperRoute::getTagRoute($tag->tag_id . '-' . $tag->alias))?>" class="<?php echo $link_class; ?>" rel="tag"><?php echo '#'; echo $this->escape($tag->title); ?></a><?php if($i != (count($displayData)-1)) echo ','; ?>
*

dmitry_stas

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

zazar

  • Захожу иногда
  • 64
  • 0 / 1
Не знаю, мне хочется посмотреть, что будет.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Не знаю, мне хочется посмотреть, что будет.
Кроме того, что проиндексирует с решетками, больше ничего не будет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как получить дочерние теги для тегов на странице "Список всех меток"?

Автор fearlessfox

Ответов: 0
Просмотров: 619
Последний ответ 18.11.2021, 23:26:55
от fearlessfox
Метки / теги - вывод только избранных материалов, как?

Автор x1

Ответов: 0
Просмотров: 620
Последний ответ 16.03.2021, 15:32:03
от x1
Мета-теги title и description

Автор razvitie

Ответов: 5
Просмотров: 1181
Последний ответ 12.02.2020, 05:07:37
от Cedars
Уникальные теги alt и title для картинок в Simple Image Gallery Pro

Автор mikz

Ответов: 0
Просмотров: 712
Последний ответ 15.10.2019, 12:30:11
от mikz
Мета теги категорий jbzoo

Автор simatic007

Ответов: 0
Просмотров: 629
Последний ответ 24.07.2019, 16:07:55
от simatic007