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

Mnojitell

  • Захожу иногда
  • 122
  • 5 / 0
Долго ковырялся в шаблоне, но так и не нашёл, как отключить все стили и саму картинку, чтобы полностью убрать кнопку и сделать из неё простую ссылку. При удалении всех стилей .btn при наведении на ссылку всё равно отображается белая картинка, а также не удаётся удалить знак > расположенный перед текстом.
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
надо править шаблон, а не только стили. Если это вывод материалов, то смотреть папку -content-
*

Mnojitell

  • Захожу иногда
  • 122
  • 5 / 0
Ясно, что нужно править этот код. Файл default_item.php Но как отсюда убрать изображение и значок > ? Убираешь любой элемент и кнопка пропадает вместе с ссылкой.
<?php if ($params->get('show_readmore') && $this->item->readmore) :
if ($params->get('access-view')) :
$link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
else :
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
$link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language), false)));
endif; ?>

<?php echo JLayoutHelper::render('joomla.content.readmore', array('item' => $this->item, 'params' => $params, 'link' => $link)); ?>

<?php endif; ?>
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
где находится "...Файл default_item.php ... "? Шаблон то какой используете? Можно взглянуть на пациента?
Какой-то странный код для ссылки -подробнее-
*

Mnojitell

  • Захожу иногда
  • 122
  • 5 / 0
Спасибо darkghost за участие, натолкнувшее на движение в правильном направлении. Действительно, сначала править нужно не файл default_item.php, находящийся домен/components/com_content/views/featured/tmpl, а файл домен/layouts/joomla/content/readmore.php.

В этом файле убираем из кнопки «Читать дальше» шеврон «>», стоящий слева от текста в версиях Joomla 3.4 и выше, удаляя строку кода <span class="icon-chevron-right"></span>.

Затем удаляем кучу абсолютно бесполезных стилей CSS, редактируя temlate.css шаблона. Находим файл .btn и удаляем длинный столб лабуды до button.btn, оставив только необходимое:
 .btn {
display: inline-block;
*display: inline;
*zoom: 1;
padding: 4px 12px;
margin-bottom: 0;
font-size: 16px;
line-height: 18px;
border: 1px solid #0088cc;
border-radius: 4px;
text-align: center;
vertical-align: middle;
cursor: pointer;
color: #0088cc;
font-family:Impact,serif;
}
Я увеличил размер текста, задал border нужной толщины и цвета, а также изменил шрифт.
Кнопка «Читать дальше» получилась красивой и лёгкой, а так как на странице их целых 9, то сайт стал грузиться на два пункта быстрее по GoogleDevelopers. Попутно можно удалить стандартный файл шрифтов для заголовков из index.php шаблона,
<style type="text/css">
h1,h2,h3,h4,h5,h6,.site-title{
font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFontName')); ?>', sans-serif;
}
</style>
прописав для каждого типа заголовка свой в файле temlate.css, сделав сайт ещё легче и красивее.
Для пущей красоты пододвигаем кнопку «Подробнее» максимально близко к тексту, меняя местами php код в указанном выше default_item.php:
<?php if ($params->get('show_readmore') && $this->item->readmore) :
if ($params->get('access-view')) :
$link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
else :
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
$link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language), false)));
endif; ?>

<?php echo JLayoutHelper::render('joomla.content.readmore', array('item' => $this->item, 'params' => $params, 'link' => $link)); ?>

<?php endif; ?>
<?php if ($useDefList && ($info == 1 || $info == 2)) : ?>
   <?php echo JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
   <?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
      <?php echo JLayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
   <?php endif; ?>
<?php endif; ?>
Ставим блок ('show_readmore') выше ($info == 1 || $info == 2)) и кнопка «Подробнее» красиво встаёт под самый текст.
Благодаря этим действиям удалось увеличить скорость загрузки сайта с 64 до 67 по GoogleDevelopers, то есть выйти из красной зоны. Посмотреть результат можно тут.
Буду рад, если это кому то поможет улучшить сайт, не тратя много времени.   


       
« Последнее редактирование: 15.09.2017, 04:26:16 от Mnojitell »
*

gemokpat

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Я так и не понял как сделать из кнопки простую ссылку. Не подскажешь как обволоч всю новость в ссылку(на полную новость)? Как на канобу.

*

Mnojitell

  • Захожу иногда
  • 122
  • 5 / 0
Заключай всю новость на главной в ссылку readmore.
*

shrek_01

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А как поисковики относятся к таким длинным ссылкам?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Helix3 сделать несколько рядов не столбцов!

Автор Bowa

Ответов: 6
Просмотров: 3957
Последний ответ 04.03.2023, 20:33:40
от Petrovich
Не работают кнопки "сохранить","сохранить и закрыть","закрыть" в менеджере шаблонов

Автор PITKANENNN

Ответов: 23
Просмотров: 15299
Последний ответ 07.02.2023, 02:10:57
от bleznetc
Как сделать вывод ссылок в обратном порядке (com_weblinks)?

Автор Slava77

Ответов: 0
Просмотров: 848
Последний ответ 24.11.2022, 16:42:09
от Slava77
Хлебные крошки: вместо title сделать заголовок

Автор Zelyonkin

Ответов: 2
Просмотров: 804
Последний ответ 09.09.2022, 08:46:10
от Zelyonkin
Как слово Menu сделать русским?

Автор qqazz12

Ответов: 2
Просмотров: 877
Последний ответ 29.08.2020, 17:54:10
от qqazz12