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

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Здравствуйте, подключил стандартный модуль "Материалы - Самые читаемые", он выводит в списках заголовки материалов.
Мне же нужно еще выводить их картинки, но как это сделать я не пойму.
Я нашел папку этого модуля "mod_articles_popular" в папке tmpl файл default.php привожу его код.
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<ul class="mostread<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) : ?>
<li itemscope itemtype="https://schema.org/Article">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
</span>
</a>
</li>
<?php endforeach; ?>
</ul>

Дальше вставляю print_r($item);
и вот что он мне дает:

Код

    stdClass Object
(
    [id] => 16
    [title] => Fitnes 8
    [alias] => fitnes-8
    [introtext] =><p></p>

    [checked_out] => 0
    [checked_out_time] => 0000-00-00 00:00:00
    [catid] => 9
    [created] => 2017-07-14 07:41:31
    [created_by] => 741
    [created_by_alias] =>
    [state] => 1
    [modified] => 2017-07-22 14:15:29
    [modified_by] => 741
    [modified_by_name] => Super User
    [publish_up] => 2017-07-14 07:41:31
    [publish_down] => 0000-00-00 00:00:00
    [images] => {"image_intro":"images\/img\/blog_02-smol.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"images\/img\/blog_07-big.jpg","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}
    [urls] => {"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}
    [attribs] => {"article_layout":"","show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","info_block_show_title":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_associations":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_page_title":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}
    [metadata] => {"robots":"","author":"","rights":"","xreference":""}
    [metakey] =>
    [metadesc] =>
    [access] => 1
    [hits] => 8
    [xreference] =>
    [featured] => 1
    [language] => *
    [readmore] => 2568
    [category_title] => Fitnes
    [category_route] => fitnes
    [category_access] => 1
    [category_alias] => fitnes
    [published] => 1
    [parents_published] => 1
    [author] => Super User
    [author_email] => skytype003@gmail.com
    [parent_title] => ROOT
    [parent_id] => 1
    [parent_route] =>
    [parent_alias] => root
    [rating] => 3
    [rating_count] => 1
    [alternative_readmore] =>
    [layout] =>
    [params] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
                (
                    [article_layout] => _:default
                    [show_title] => 1
                    [link_titles] => 1
                    [show_intro] => 1
                    [info_block_position] => 1
                    [info_block_show_title] => 1
                    [show_category] => 1
                    [link_category] => 1
                    [show_parent_category] => 0
                    [link_parent_category] => 0
                    [show_associations] => 0
                    [flags] => 1
                    [show_author] => 1
                    [link_author] => 0
                    [show_create_date] => 0
                    [show_modify_date] => 0
                    [show_publish_date] => 1
                    [show_item_navigation] => 1
                    [show_vote] => 1
                    [show_readmore] => 1
                    [show_readmore_title] => 1
                    [readmore_limit] => 100
                    [show_tags] => 1
                    [show_icons] => 1
                    [show_print_icon] => 1
                    [show_email_icon] => 1
                    [show_hits] => 1
                    [show_noauth] => 0
                    [urls_position] => 1
                    [captcha] =>
                    [show_publishing_options] => 1
                    [show_article_options] => 1
                    [save_history] => 1
                    [history_limit] => 10
                    [show_urls_images_frontend] => 0
                    [show_urls_images_backend] => 1
                    [targeta] => 0
                    [targetb] => 0
                    [targetc] => 0
                    [float_intro] => left
                    [float_fulltext] => left
                    [category_layout] => _:blog
                    [show_category_heading_title_text] => 1
                    [show_category_title] => 0
                    [show_description] => 0
                    [show_description_image] => 0
                    [maxLevel] => 1
                    [show_empty_categories] => 0
                    [show_no_articles] => 1
                    [show_subcat_desc] => 1
                    [show_cat_num_articles] => 0
                    [show_cat_tags] => 1
                    [show_base_description] => 1
                    [maxLevelcat] => -1
                    [show_empty_categories_cat] => 0
                    [show_subcat_desc_cat] => 1
                    [show_cat_num_articles_cat] => 1
                    [num_leading_articles] => 2
                    [num_intro_articles] => 3
                    [num_columns] => 3
                    [num_links] => 4
                    [multi_column_order] => 0
                    [show_subcategory_content] => 0
                    [show_pagination_limit] => 1
                    [filter_field] => hide
                    [show_headings] => 1
                    [list_show_date] => 0
                    [date_format] =>
                    [list_show_hits] => 1
                    [list_show_author] => 1
                    [list_show_votes] => 0
                    [list_show_ratings] => 0
                    [orderby_pri] => order
                    [orderby_sec] => front
                    [order_date] => published
                    [show_pagination] => 2
                    [show_pagination_results] => 1
                    [show_featured] => show
                    [show_feed_link] => 1
                    [feed_summary] => 0
                    [feed_show_readmore] => 0
                    [custom_fields_enable] => 1
                    [show_page_heading] => 1
                    [featured_categories] => Array
                        (
                            [0] =>
                        )

                    [layout_type] => blog
                    [menu_text] => 1
                    [menu_show] => 1
                    [secure] => 0
                    [page_title] => Home
                    [page_description] => Знания для людей, ведущих здоровый образ жизни
                    [page_rights] =>
                    [robots] =>
                    [page_heading] => Home
                    [access-view] => 1
                )

            [initialized:protected] => 1
            [separator] => .
        )

    [displayDate] => 2017-07-14 07:41:31
    [tags] => JHelperTags Object
        (
            [tagsChanged:protected] =>
            [replaceTags:protected] =>
            [typeAlias] =>
            [itemTags] => Array
                (
                )

        )

    [slug] => 16:fitnes-8
    [catslug] => 9:fitnes
    [link] => /index.php/fitnes/16-fitnes-8
)

*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Код
<?php $images = new JRegistry($item->images);
echo $images->get('image_intro');
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Код
<?php $images = new JRegistry($item->images);
echo $images->get('image_intro');
Благдарю, работает.
Я твой код вставил правильно или нужно по другому?
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<ul class="mostread<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) : ?>
    <?php $images = new JRegistry($item->images); ?>
<li itemscope itemtype="https://schema.org/Article">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
</span>
            <img src="<?php echo $images->get('image_intro');?>"/>

</a>
</li>
<?php endforeach; ?>
</ul>
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Благдарю, работает.
Я твой код вставил правильно или нужно по другому?

Если работает, то правильно!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести Alt картинки в описание Lightbox?

Автор art22

Ответов: 2
Просмотров: 2658
Последний ответ 14.05.2023, 09:21:39
от sivers
Как сделать вывод ссылок в обратном порядке (com_weblinks)?

Автор Slava77

Ответов: 0
Просмотров: 848
Последний ответ 24.11.2022, 16:42:09
от Slava77
Helix 3 старается горизонтально размеченные картинки переставить вертикально

Автор olderman

Ответов: 3
Просмотров: 1580
Последний ответ 30.10.2022, 08:59:06
от marksetter
Вывод материалов блогом с фильтром по меткам

Автор muzzy76

Ответов: 7
Просмотров: 1335
Последний ответ 06.10.2022, 13:57:56
от muzzy76
Ари екст меню - вывод не на всех страницах

Автор ssaich

Ответов: 16
Просмотров: 1529
Последний ответ 20.04.2021, 06:25:33
от ssaich