Новости 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 Ответов
  • 1626 Просмотров
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Здравствуйте.
Как можно вывести модуль под заголовком статьи. Вернее даже под тегами компонента TorTags

Ссылка:
http://touristmagazine.ru/avstraliya-i-okeaniya/avstraliya/australia-in-january
Модуль будет "HTML код" (реклама).
Важно чтобы модуль выводился только в статье. А в блоге категории его не было.
очень прошу помочь!
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
А тебе надо что бы во всех статьях выводился, или только в пределенных Каких то

Поробуй выводить модуль в самих статьях

http://web-server.by/index.php/ru/fajlovyj-arkhiv/glavnaya-stranitsa/viewdownload/51-moduli/193-vyvod-modulya-na-stranitsu-kontenta
...
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Да, нужно чтобы выводилось во всех статьях, под заголовком и тегами. Как выводить модуль в статьях я знаю {loadposition позиция_модуля}.
Т.к. статей уже довольно таки много, то нужно какое то универсальное решение, чтобы модуль встал под каждым заголовком каждой статьи. И при этом в блоге категории его не было.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Я бы сделал так, В файле index.php я бы поставил проверку которая бы фильтровал категории от статей и внутри проверки создал позицию модуля....
...
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
А мне кажется нужно найти в Joomle где она выводит заголовок в материале, и под него в коде вставить модуль. Только что это за файл я не знаю.
*

rixter

  • Захожу иногда
  • 95
  • 9 / 0
  • Кто юзал мой писи?
Если статьи выводятся стандартным com_content, то открываете шаблон статьи default.php, желательно из папки своего шаблона templates/ваш_шаблон/html/com_content/article, в самой cms он лежит здесь сайт/components/com_content/views/article/tmpl.

И где-нибудь перед beforeDisplayContent вставляете код вывода модуля или позиции.

Себе я сделал вообще вывод в начале и/или конце статьи, а управление через стандартную настройку ссылками.
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
rixter



Код
$modules =JModuleHelper::getModules('entitled');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}

Вставляю вот этот код, куда вы написали и модуль выводится, но над заголовком, а как его под заголовок поместить? Везде пытался его вставить в этом файле, чет не выходит. Вот содержимое файла (не измененный)
/templates/Мой_Шаблон/html/com_content/article/default.php:
Код
<?php
defined('_JEXEC') or die;

require_once dirname(dirname(dirname(dirname(__FILE__)))). DIRECTORY_SEPARATOR . 'functions.php';

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

Artx::load("Artx_Content");

$component = new ArtxContent($this, $this->params);
$article = $component->article('article', $this->item, $this->item->params, array('print' => $this->print));

echo $component->beginPageContainer('item-page');
if (strlen($article->pageHeading))
    echo $component->pageHeading($article->pageHeading);
$params = $article->getArticleViewParameters();
if (strlen($article->title)) {
    $params['header-text'] = $this->escape($article->title);
    if (strlen($article->titleLink))
        $params['header-link'] = $article->titleLink;
}
// Change the order of ""if"" statements to change the order of article metadata header items.
if (strlen($article->created))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->createdDateInfo($article->created). "</span>";
if (strlen($article->modified))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->modifiedDateInfo($article->modified). "</span>";
if (strlen($article->published))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->publishedDateInfo($article->published). "</span>";
if (strlen($article->author))
    $params['metadata-header-icons'][] = "<span class=\"art-postauthoricon\">" . $article->authorInfo($article->author, $article->authorLink). "</span>";
if ($article->printIconVisible)
    $params['metadata-header-icons'][] = $article->printIcon();
if ($article->emailIconVisible)
    $params['metadata-header-icons'][] = $article->emailIcon();
if ($article->editIconVisible)
    $params['metadata-header-icons'][] = $article->editIcon();
if (strlen($article->hits))
    $params['metadata-header-icons'][] = $article->hitsInfo($article->hits);
// Build article content
$content = '';
if ('above full article' === $article->paginationPosition)
    $content .= $article->pagination();
if (!$article->introVisible)
    $content .= $article->event('afterDisplayTitle');
$content .= $article->event('beforeDisplayContent');
if (strlen($article->toc))
    $content .= $article->toc($article->toc);
if (strlen($article->text)) {
    if (strlen($article->images['fulltext']['image']))
        $content .= $article->image($article->images['fulltext']);
    if ('above text' === $article->paginationPosition)
        $content .= $article->pagination();
    $content .= $article->text($article->text);
    if ('below text' === $article->paginationPosition)
        $content .= $article->pagination();
    if ($article->showLinks)
        $content .= $this->loadTemplate('links');
}
if ($article->introVisible)
    $content .= $article->intro($article->intro);
if (strlen($article->readmore))
    $content .= $article->readmore($article->readmore, $article->readmoreLink);
if ('below full article' === $article->paginationPosition)
    $content .= $article->pagination();
$content .= $article->event('afterDisplayContent');
$params['content'] = $content;
// Change the order of ""if"" statements to change the order of article metadata footer items.
if (strlen($article->category))
    $params['metadata-footer-icons'][] = "<span class=\"art-postcategoryicon\">"
        . $article->categories($article->parentCategory, $article->parentCategoryLink, $article->category, $article->categoryLink)
        . "</span>";

// Render article
echo $article->article($params);
echo $component->endPageContainer();

*

rixter

  • Захожу иногда
  • 95
  • 9 / 0
  • Кто юзал мой писи?
green711
у вас не стандартный шаблон вывода, тут я затрудняюсь :). Попробуйте с помощью Total Comander (ALT+F7) поискать файл с текстом art-postheader, это класс тега H1.
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Так ничего и не получилось:(
art-postheader нашелся только в одном файле /templates/Мой_шаблон/functions.php
Вставлял в него код, результат один, модуль показывается над заголовком, либо вообще под статьей:
Код
$modules =JModuleHelper::getModules('entitled');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}
Содержимое файла functions.php
Спойлер
[свернуть]

Есть еще идеи?
*

rixter

  • Захожу иногда
  • 95
  • 9 / 0
  • Кто юзал мой писи?
А если код вывода модуля добавить в default.php после кода
Код
if (strlen($article->title)) {
    $params['header-text'] = $this->escape($article->title);
    if (strlen($article->titleLink))
        $params['header-link'] = $article->titleLink;
}
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Re: Вывод модуля под заголовком статьи
« Ответ #10 : 08.08.2014, 15:10:49 »
Там тоже над заголовком блок получается.
Вот если я ставлю сюда(в конце файла default.php):
Код
// Render article

$modules =JModuleHelper::getModules('entitled');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}
echo $article->article($params);
echo $component->endPageContainer();
то модуль выводится также над заголовком. А если так, то выводится уже сразу под статьей и под навигацией по страницам:
Код
// Render article

echo $article->article($params);

$modules =JModuleHelper::getModules('entitled');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}

echo $component->endPageContainer();
*

green711

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Re: Вывод модуля под заголовком статьи
« Ответ #11 : 19.08.2014, 11:51:39 »
Для себя нашел решение. Плагин MultiAds
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод новостей

Автор lindim

Ответов: 5
Просмотров: 3901
Последний ответ 24.04.2023, 11:16:59
от Hrillow
Вывод информации в личный кабинет пользователя

Автор zndm

Ответов: 17
Просмотров: 6150
Последний ответ 22.09.2022, 18:51:44
от beliyadm
Редактирование Модуля - в меню не удаляется пункт

Автор bovinkm

Ответов: 4
Просмотров: 1788
Последний ответ 16.08.2019, 15:00:22
от bovinkm
Определить название модуля

Автор xxgurman

Ответов: 2
Просмотров: 1284
Последний ответ 22.06.2019, 06:52:02
от arma
Непонятные символы в конце каждой статьи после сохранении редактирования

Автор Анастасия Гвоздева

Ответов: 2
Просмотров: 1640
Последний ответ 19.03.2019, 15:01:41
от draff