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

kivik92

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Доброго времени суток, проблема следущая не показывается в хлебных крошках menu text separator вместо него просто стоит разделитиль типа "\"
Пример: Главная\Подпункт1\ \Подпункт 3
А item меню с text_separator "Подпункт2" не показывает.
Шаблон не стандартный!
Код breadcrumbs

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_breadcrumbs
 *
 * @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;

JHtml::_('bootstrap.tooltip');
?>

<ul itemscope itemtype="https://schema.org/BreadcrumbList" class="breadcrumb<?php echo $moduleclass_sfx; ?>">
   <?php if ($params->get('showHere', 1)) : ?>
      <li>
         <?php echo JText::_('MOD_BREADCRUMBS_HERE'); ?>&#160;
      </li>
   <?php else : ?>
      <li class="active">
         <span class="divider icon-location"></span>
      </li>
   <?php endif; ?>

   <?php
   // Get rid of duplicated entries on trail including home page when using multilanguage
   for ($i = 0; $i < $count; $i++)
   {
      if ($i === 1 && !empty($list[$i]->link) && !empty($list[$i - 1]->link) && $list[$i]->link === $list[$i - 1]->link)
      {
         unset($list[$i]);
      }
   }

   // Find last and penultimate items in breadcrumbs list
   end($list);
   $last_item_key   = key($list);
   prev($list);
   $penult_item_key = key($list);

   // Make a link if not the last item in the breadcrumbs
   $show_last = $params->get('showLast', 1);

   // Generate the trail
   foreach ($list as $key => $item) :
      if ($key !== $last_item_key) :
         // Render all but last item - along with separator ?>
         <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
            <?php if (!empty($item->link)) : ?>
               <a itemprop="item" href="<?php echo $item->link; ?>" class="pathway"><span itemprop="name"><?php echo $item->name; ?></span></a>
            <?php else : ?>
               <span itemprop="name">
                  <?php echo $item->name; ?>
               </span>
            <?php endif; ?>

            <?php if (($key !== $penult_item_key) || $show_last) : ?>
               <span class="divider">
                  <?php echo $separator; ?>
               </span>
            <?php endif; ?>
            <meta itemprop="position" content="<?php echo $key + 1; ?>">
         </li>
      <?php elseif ($show_last) :
         // Render last item if reqd. ?>
         <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active">
            <span itemprop="name">
               <?php echo $item->name; ?>
            </span>
            <meta itemprop="position" content="<?php echo $key + 1; ?>">
         </li>
      <?php endif;
   endforeach; ?>
</ul>
*

kivik92

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Что никто не поможет в даной теме, товарищи?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
1.Если шаблон не стандартный, то может у вас хл.крошки переопределены в шаблоне?
2.Файл из modules/*** или из HTML шаблона?
Спойлер
[свернуть]
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kivik92

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
1.Если шаблон не стандартный, то может у вас хл.крошки переопределены в шаблоне?
2.Файл из modules/*** или из HTML шаблона?
Спойлер
[свернуть]
Да шаблон нестандартный, файл находится в modules/mod_breadcrums.
Прблема в том, что когда ставлю этот пункт меню стаття, то отображается нормально в хлебных крошках, а когда просто как раздилитель, то ничего не показывается в хлебных крошках.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Посмотрите, в /ваш шаблон/html/ нет mod_breadcrumbs ?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Честно не тестил, хотя по идет такое возможно ведь хлебные крошки формирует компоненты, а разделитель это не страница и перейти на нее нельзя
Попробуйте вставить пред
  <?php
   // Get rid of duplicated entries on trail including home page when using multilanguage
Следующий код
Код
<?php echo '<pre>', print_r($list, true),'</pre>'; ?>
И посмотрите что приходит.  если там ссылки на разделеитель нет, то ее и не будет. Делаете тип пункта меню материал, ставте на нем no index, а в выводе меню подмените ссылку или запретите клик
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

kivik92

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Решил проблему так (если кому-то будет интересно):
было — <span itemprop="name" style="color:#333">
                  <?php  $item->name; ?>
               </span>

стало — <span itemprop="name" style="color:#333">
                  <?php echo $item->name; ?>
               </span>

Всем спасибо товарищи  *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 4888
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 1278
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 1641
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 2843
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 3255
Последний ответ 27.03.2025, 10:40:29
от wishlight