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

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
В Joomla 3.
Если в шаблоне в Название сайта и Описание сайта задать теги. В Header (title)  прописываются теги из общих настроек сайта (берется название сайта).  И далее то что задаешь в шаблоне.
Получается типа:
div class="container">
         <!-- Header -->
         <header class="header" role="banner">
            <div class="header-inner clearfix">
               <a class="brand pull-left" href="/">
                  <span class="site-title" title=Как выращивать огурцы">Безучетное потребление электроэнергии.</span>                                       <div class="site-description">Акт о безучетном потреблении электроэнергии.</div>                                 </a>
               <div class="header-search pull-right">

Получается слова "Как выращивать огурцы" взято из названия сайта. Общие настройки сайта. Мне надо, чтоб из настроек сайта теги не брались. Искал не нашел, где вылечить.
Надо чтоб было только " Безучетное потребление электроэнергии"
В Joomla 2.5, что пишеш в шаблоне, то и прописывается. А в Joomla 3 не получается.
Спасибо.
« Последнее редактирование: 10.01.2015, 23:38:43 от stendapuss »
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
в протостаре это формируется в index.php шаблона :
Код: php
// Logo file or site title param
if ($this->params->get('logoFile'))
{
$logo = '<img src="' . JUri::root(). $this->params->get('logoFile'). '" alt="' . $sitename . '" />';
}
elseif ($this->params->get('sitetitle'))
{
$logo = '<span class="site-title" title="' . $sitename . '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';
}
else
{
$logo = '<span class="site-title" title="' . $sitename . '">' . $sitename . '</span>';
}

если уж так мешает -  уберите вообще кусок title="' . $sitename . '"
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
elseif ($this->params->get('sitetitle'))
Где-то в настройках шаблона переключается.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
насколько я понял - если описание в шаблоне вообще вбито - то выведется оно, если нет - имя сайта
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Да хз. Не великий спец в Joomla.
Но если это фрагмент шаблона, то похоже в этом контексте $this это обьект шаблона JDocument, а не приложения JApplication. Хотя могу и ошибаться.
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Наверно я плохо объяснил, извините.

Не получается так:
 title в обще не выводит. А надо, чтоб из шаблона прописывало.
В шаблоне прописано( настройки шаблона название сайта), Безучетное потребление электроэнергии.
А в настройках сайта, общие настройки -название сайта) "Как выращивать огурцы"
Вот и надо, чтоб в <!-- Header --> писало из настроек шаблона " Безучетное потребление электроэнергии"
Не понятно как робот поймет :
<span class="site-title" title=Как выращивать огурцы">Безучетное потребление электроэнергии.</span>  
Что себе пропишет или огурцы или безучетное потребление.

А сейчас получается:
 <span class="site-title" title=Как выращивать огурцы">Безучетное потребление электроэнергии.</span>

<!-- Body -->
   <div class="body">
      <div class="container">
         <!-- Header -->
         <header class="header" role="banner">
            <div class="header-inner clearfix">
               <a class="brand pull-left" href="/">
                                                         <div class="site-description">Акт о безучетном потреблении электроэнергии.</div>                                 </a>
               <div class="header-search pull-right">
                  
               </div>



title нет в обще.

В В Joomla 2.5 пишешь в шаблоне, не имеет значения что в настройках сайта стоит. Пишет  в  Header , то что в шаблоне пишеш.
Спасибо.
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
насколько я понял - если описание в шаблоне вообще вбито - то выведется оно, если нет - имя сайта
Вот так и выводит:
<!-- Header -->
         <header class="header" role="banner">
            <div class="header-inner clearfix">
               <a class="brand pull-left" href="/">
                  <span class="site-title" title=Как выращивать огурцы">Безучетное потребление электроэнергии.</span>                                       <div class="site-description">Акт о безучетном потреблении электроэнергии.</div>                                 </a>
               <div class="header-search pull-right">
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
а как должно быть? <span class="site-title" title="Безучетное потребление электроэнергии">Безучетное потребление электроэнергии.</span>  ?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
насколько я понял - если описание в шаблоне вообще вбито - то выведется оно, если нет - имя сайта
Ilhom666 прав. Я затупил.
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
а как должно быть? <span class="site-title" title="Безучетное потребление электроэнергии">Безучетное потребление электроэнергии.</span>  ?
Да.
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Ilhom666 прав. Я затупил.
В том и дело, что если в шаблоне вбито название сайта Безучетное потребление электроэнергии а в настройках сайта, Как выращивать огурцы.
Прописывает в начале из настроек сайта и далее из шаблона >Безучетное потребление электроэнергии.</span> Хотя по идее должно из шаблона прописать. В Joomla 2.5 так и прописывает.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
в коде, который я выше приводил строку
$logo = '<span class="site-title" title="' . $sitename . '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';
просто перепишите так
$logo = '<span class="site-title" title="' . htmlspecialchars($this->params->get('sitetitle')). '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';

А вообще это не от версии Joomla зависит а от шаблона. Для проверки - переключитесь на beez - там наверное все будет как вы привыкли ))
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Спасибо, работает.
Может можно еще и чтоб подпункты меню свои title прописывали сделать? Или уже многого хочу?
Спасибо.
« Последнее редактирование: 12.01.2015, 19:55:42 от stendapuss »
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
не совсем понял, это как?
типа <span class="site-title" title="Название_пункта_меню">Какой-то текст</span> ?
если да, то попробуйте
$logo = '<span class="site-title" title="' . JFactory::getApplication()->getMenu()->getActive()->title . '">' . Какой-то текст . '</span>';
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Есть пункт меню Безучетное потребление электроэнергии, у него подпункт Акт о безучетном потреблении электроэнергии. Надо чтоб писало:

!-- Header -->
         <header class="header" role="banner">
            <div class="header-inner clearfix">
               <a class="brand pull-left" href="/">
                  <span class="site-title" title="Акт о безучетном потреблении электроэнергии.">Акт о безучетном потреблении электроэнергии.</span>                                       <div class="site-description">Акт о безучетном потреблении электроэнергии.</div>                                 </a>
               <div class="header-search pull-right">


Сейчас пишет:

!-- Header -->
         <header class="header" role="banner">
            <div class="header-inner clearfix">
               <a class="brand pull-left" href="/">
                  <span class="site-title" title="Безучетное потребление электроэнергии.">Безучетное потребление электроэнергии.</span>                                       <div class="site-description">Акт о безучетном потреблении электроэнергии.</div>                                 </a>
               <div class="header-search pull-right">

Спасибо.
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Ilhom666
Перестало работать. Прописывал
"$logo = '<span class="site-title" title="' . htmlspecialchars($this->params->get('sitetitle')). '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';"
Все работало. Обновлял несколько раз Joomla.
Сейчас смотрю не работает. Как поправить?
Joomla! 3.6.4
Спасибо.
« Последнее редактирование: 30.10.2016, 14:45:38 от stendapuss »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ilhom666
Перестало работать. Прописывал
"$logo = '<span class="site-title" title="' . htmlspecialchars($this->params->get('sitetitle')). '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';"
Все работало. Обновлял несколько раз Joomla.
Сейчас смотрю не работает. Как поправить?
Joomla! 3.6.4
Спасибо.
Включите отобрание ошибок php для разработчиков и с ошибкой сюда
Можно так попробовать
Заместо
Код: php
$this->params->get('sitetitle')
Так написать
Код: php
JFactory::getConfig()->get('sitename')
Тогда будет дергаться название сайта из "общих настроек"
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
В обще все стили и название сайта берет с шаблона главной.
Ставишь другой шаблон на главную, их много шаблонов на сайте (для каждого раздела свой шаблон). Все разделы берут стили и название сайта с шаблона по умолчанию, а не с того который привязан по пунктам меню.
Для других разделов стоят свои шаблоны, стили и название берется с шаблона по умолчанию.
Не пойму что такое стало, фигня какая то.
И не знаю после какого обновления это стало.
« Последнее редактирование: 30.10.2016, 23:04:22 от stendapuss »
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Включил отобрание ошибок php для разработчиков.
Где ошибки смотреть?
В .htaccess прописываю:
php_flag display_errors on
php_flag display_startup_errors on
На сайте нет ошибок, в папке error нет.
Смотрю на компе на Open Server.

Косяк стал после обновления Joomla! Joomla! 3.6.2 до Joomla! 3.6.4

« Последнее редактирование: 31.10.2016, 06:25:28 от stendapuss »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как получить параметры стиля шаблона?

Автор Spam

Ответов: 16
Просмотров: 6142
Последний ответ 20.07.2025, 20:25:55
от fbr
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 3560
Последний ответ 03.05.2023, 22:54:19
от SmiP
Xelix Ultimate редактирование шаблона

Автор Darov

Ответов: 42
Просмотров: 8358
Последний ответ 20.03.2023, 12:16:59
от marksetter
Установка шаблона или быстрого старта qnap

Автор weser

Ответов: 12
Просмотров: 3344
Последний ответ 09.02.2023, 17:16:58
от weser
Не подлючает модуль из шаблона

Автор misteri27

Ответов: 0
Просмотров: 1920
Последний ответ 31.01.2023, 12:58:05
от misteri27