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

Victor333

  • Захожу иногда
  • 445
  • 1 / 0
Добрый день. Помогите, пожалуйста, добавить позицию для модуля.

Нужно прописать код в файл, если я правильно понимаю это файл этот - /templates/шаблон/warp/systems/joomla/layouts/article.php

Код
<article  itemscope itemtype="http://schema.org/Article" class="uk-article uk-panel-box-primary" <?php if ($permalink) echo 'data-permalink="'.$permalink.'"'; ?>>

<?php if ($author || $date || $category) : ?>
<div class="uk-article-meta">
<?php

$author   = ($author && $author_url)? '<a href="'.$author_url.'">'.$author.'</a>' : $author;
$date     = ($date)? ($datetime ? '<time datetime="'.$datetime.'">'.JHtml::_('date', $date, JText::_('d.m.Y')).'</time>' : JHtml::_('date', $date, JText::_('d.m.Y'))) : '';

$img = @$category_img ? '<img src="'.$category_img.'" alt="'.$category_img_alt.'" class="uk-article-meta-category-img">' : '';
$category = ($category && $category_url)? '<a href="'.$category_url.'">'.$img.$category.'</a>' : $category;

if ($category) {
echo '<span class="uk-article-meta-category uk-float-left">'.$category.'</span>';
}

if ($author) {
echo '<span class="uk-article-meta-author uk-float-right">'.$author.'</span>';
}

if ($date) {
echo '<span class="uk-article-meta-author uk-float-right">'.$date.'</span>';
}

?>
<div class="uk-clearfix"></div>
</div>
<?php endif; ?>

<?php if ($image && $image_alignment == 'none') : ?>
<?php if ($url) : ?>
<a class="tm-article-title-link" href="<?php echo $url; ?>">
<img class="tm-article-title-img" src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>">
<?php if ($title) : ?>
<h1 class="uk-article-title"><?php echo $title; ?></h1>
<?php endif; ?>
</a>
<?php else : ?>
<img class="tm-article-title-img" src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>">
<?php if ($title) : ?>
<h1 class="uk-article-title"><?php echo $title; ?></h1>
<?php endif; ?>
<?php endif; ?>
<?php elseif ($title) : ?>
<h1 itemprop="name" class="uk-article-title">
<?php if ($url && $title_link) : ?>
<a class="tm-article-title-link" href="<?php echo $url; ?>"><?php echo $title; ?></a>
<?php else : ?>
<?php echo $title; ?>
<?php endif; ?>
</h1>
<?php endif; ?>

<?php echo $hook_aftertitle; ?>

<?php if ($image && $image_alignment != 'none') : ?>
<?php if ($url) : ?>
<a class="uk-align-<?php echo $image_alignment; ?>" href="<?php echo $url; ?>" title="<?php echo $image_caption; ?>"><img src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>"></a>
<?php else : ?>
<img class="uk-align-<?php echo $image_alignment; ?>" src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>">
<?php endif; ?>
<?php endif; ?>



<?php if ($article) : ?>
<div itemprop="articleBody" class="tm-article-content"><?php echo $article; ?></div>
<?php endif; ?>

<?php if ($tags) : ?>
<div class="tm-article-tags"><?php echo JText::_('TPL_WARP_TAGS').': '.$tags; ?></div>
<?php endif; ?>

<?php if ($more) : ?>
<div class="tm-article-more"><a href="<?php echo $url; ?>" title="<?php echo $title; ?>"><?php echo $more; ?></a></div>
<?php endif; ?>

<?php if ($edit) : ?>
<div class="tm-article-edit"><?php echo $edit; ?></div>
<?php endif; ?>


<div class="tm-article-before"><?php echo $hook_beforearticle; ?></div>


<?php
$modules =JModuleHelper::getModules('main-article');
if (count($modules))
{
?>
<div class="tm-pos_mod-articles">

<?php
$attr = array('style' => 'none');

foreach ($modules as $module) {

$mod_params = json_decode($module->params);
$mod_title_class = (trim($mod_params->header_class)? ' class="'.trim($mod_params->header_class).'"' : '');
$mod_title_tag = (!empty($mod_params->params->header_tag)? $mod_params->params->header_tag : 'h3');
$mod_title = ($module->showtitle ? '<'.$mod_title_tag.$mod_title_class.'>'.$module->title.'</'.$mod_title_tag.'>' : '');
$mod_class = (trim($mod_params->moduleclass_sfx)? ' '.trim($mod_params->moduleclass_sfx) : '');
?>
<div class="tm-pos_mod-article<?php echo $mod_class; ?>">
<?php echo $mod_title; ?>
<?php echo JModuleHelper::renderModule($module, $attr); ?>
</div>
<?php } ?>

</div>
<?php } ?>


<div class="tm-article-after"><?php echo $hook_afterarticle; ?></div>


<?php if ($previous || $next) : ?>
<ul class="uk-pagination">
<?php if ($previous) : ?>
<li class="uk-pagination-previous">
<a href="<?php echo $previous; ?>"><i class="uk-icon-angle-double-left"></i> <?php echo JText::_('JPREV'); ?></a>
</li>
<?php endif; ?>

<?php if ($next) : ?>
<li class="uk-pagination-next">
<a href="<?php echo $next; ?>"><?php echo JText::_('JNEXT'); ?> <i class="uk-icon-angle-double-right"></i></a>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>

</article>

Нужно чтоб после заголовка материала H1 выводился модуль. Модуль можно назвать условно, потом переименую


Кто в теме, помогите, пожалуйста
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 94
Последний ответ 15.11.2025, 16:20:01
от all_zer
Вставка видео в Материал

Автор VIK4

Ответов: 10
Просмотров: 514
Последний ответ 03.11.2025, 08:18:22
от wishlight
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 777
Последний ответ 07.09.2024, 13:19:48
от timofe
Как вставить видео с Telegram в материал?

Автор Ishti39

Ответов: 2
Просмотров: 1191
Последний ответ 18.06.2024, 10:41:30
от Olg
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1214
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav