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

MuxaS

  • Захожу иногда
  • 78
  • 3 / 0
В Joomla 1.0.xx можно было настроить параметры отображения материалов глобально.
Я имею в виду вот это:
Имена авторов:       Скрыть   Показать     
Дата и время создания:    Скрыть Показать    
Дата и время изменения:    Скрыть Показать    
Кол-во просмотров:    Скрыть Показать    
Ссылка PDF:    Скрыть Показать    
Ссылка Печать:
и т.д.
Настроить это можно было в глобальной конфигурации сайта.

В Joomla 1.5 я так и не смог найти подобных настроек, приходится для каждого раздела настраивать отдельно, что весьма неудобно (у меня версия 1.5.9 RUS). Причём, если есть строка "использовать глобальные настройки" - значит где-то они ведь должны быть...

Если кто-то знает, где можно настроить глобально - ткните носом, буду признателен.

P.S.
Также очень интересно, почему в новой Joomla нет возможности добавлять изображения в материал как раньше - с указанием позиции, толщины рамки и т.п. Было очень удобно. Теперь просто приходится вставлять код... Мрак.
*

Leshiy

  • Захожу иногда
  • 125
  • 7 / 0
Закладка "Материалы", в правом верхнем углу будет кнопка "Параметры", но она отказывается работать. Вот ответ, но я толком не разобрался, у меня не работает. Камрады, ежели кому нетрудно подскажите как решать проблему с включенным SEO режимом!
Заранее спасибо за ответ.

З.Ы. Проблему решил, правда не до конца понял как я её решил.
СЕО включён.
мод-реврайт включён.
суффикс ХТМЛ к УРЛ добавлен

Проблема решилась, когда я материал привязал к меню (ПОЛНЫЙ ППЦ - так неудобно, по сравнению с Дж. 1 и Джустиной), если просто создать материал, то он появляется в последних новостях, но глобальные настройки не применяются к материалу. Для того чтобы сработали глобальные настройки, надобно материал привязать к меню. Причём если привязать материал к меню, то меняется и сслыка в блоке последних новостей. Вывод - купить толстую книгу о вреде употрбления наркотиков, грибов и крепких алкогольных напитков, потому как поверить в то что трезвый человек смог придумать такую внутреннюю систему - я НЕ МОГУ!
« Последнее редактирование: 19.04.2009, 04:57:42 от Leshiy »
*

MuxaS

  • Захожу иногда
  • 78
  • 3 / 0
Leshiy, дык в том-то и дело. Кнопку видел, но параметры материалов не изменяются, только для новых. Вообще, ощущение жутко недоработанной системы. И кто меня дёрнул переходить с 1.0.12... Самая лучшая джумла была. А в этой половина настроек девалась куда-то.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Игорь - шаблонизация в 1.5 темный конек, нельзя написать одну статью в FAQ и спать спокойно.
Бо я завтра клиенту сделаю шаблон, где все будет по другому и ничего уже не поможет, только руками разбираться.
Если руки дойдут - в течении пары недель сделаю максимально подробную статью по шаблонизации com_content, наработки уже есть, нужно оформить, проработать детали и прочее
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Игорь - шаблонизация в 1.5 темный конек
А кто спорит?

Я же говорю - позитив тут далеко не так однозначен.
Предположим, что необходимо видоизменить вывод материала или блога категории или чего прочего...
Зашибись - тут можно и пофантазировать.

А если так:
Один пункт меню "блог категории" нужен в одном виде, а другой в ином?
Множить темплейт и закидывать в новые папки шаблоны?
Не хило ((

В 1.0... было всё понятно: хочу заголовки-ссылки в блоге - айн момент! Хочу заголовок без ссылки в материале - мгновение! Хочу поменять всё обратно - две секунды!

Теперь без кувалды и напильника к этим вопросам не подойти.
Готов к труду и обороне!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Один пункт меню "блог категории" нужен в одном виде, а другой в ином?
Множить темплейт и закидывать в новые папки шаблоны?
Не хило ((
Теперь без кувалды и напильника к этим вопросам не подойти.
нет, это сейчас еще проще, в шаблоне компонента делаем условие из одной строки и прописываем все что хотим
Но - требует определенного порога вхождения в php
Увы - документация пока страдает
Как могу - постараюсь описать в следующей статье
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
в 1.5 одни и те же параметры записываются в разные таблицы - глобальные в сам компонент com_content, в меню, и так же еще в статью вот и получается неразбериха.
*

beliyadm

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

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Кста... что в шабе отвечает за вывод рейтинга статьи?
Хочу переместить под материал и не понял где копать...
Готов к труду и обороне!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Кста... что в шабе отвечает за вывод рейтинга статьи?
Хочу переместить под материал и не понял где копать...
article\tmpl\default.php вызываются плагины событием
Код: php
<?php echo $this->article->event->beforeDisplayContent; ?>
рейтинг к ним же относится
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Solvedor

  • Захожу иногда
  • 376
  • 33 / 0
  • Масенький Йожик
по последнему вопросу не знаю. а вот по первому - пожалуйста.
меняешь глобальные настройки в материалах.

затем идешь "все меню" - "главное меню" (или как оно там) - открываешь ссылку на главную страницу и справа вкладку "Параметры-компонент"
вот там-то настройки отличные от глобальных! меняй их либо на глобальные, либо как тебе нравится :)

ну и для других меню так же. польная свабода фантасии так сказать :)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Да все просто, покажу на примере шаблона контента напрямую, не из templates
components\com_content\views\article\tmpl\default.php
В самый конец файла после
Код: php
<?php echo $this->article->event->afterDisplayContent; ?>
переносим строку
Код: php
<?php echo $this->article->event->beforeDisplayContent; ?>
То есть все события, что должны отрабатывать до показа контента будут работать после. Это не очень красиво, потому делаем по другому
Идем в plugins\content\vote.php
находим там в самом начале
Код: php
$mainframe->registerEvent( 'onBeforeDisplayContent', 'plgContentVote' );
и заменяем на
Код: php
$mainframe->registerEvent( 'onAfterDisplayContent', 'plgContentVote' );
То есть сменили событие, по которому отрабатывает плагин рейтинга
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

MuxaS

  • Захожу иногда
  • 78
  • 3 / 0
В 1.0.ХХ все было проще и удобнее.
*

beliyadm

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