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

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Добрый день,

Подскажите пожалуйста:
Заменил в mod_menu файл - default_component.php строчку:
Код
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
на строку:
Код
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo str_replace('||', '<br>', $linktype); ?></a><?php
Теперь меню выводит в две строчки, то есть все что после "||" выводит во вторую строку...

Но как к второй строке применить отдельный класс в CSS, то есть как прописать этот класс в этом коде?
Мне нужно что б вторая строка допустим выводилась мелким шрифтом...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
используйте не str_replaсe, а explode для того чтобы разбить строку по разделителю || в массив. и затем выводите отдельно первый и второй элементы массива
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
используйте не str_replaсe, а explode для того чтобы разбить строку по разделителю || в массив. и затем выводите отдельно первый и второй элементы массива
просто в этом не селен,
если не затруднит пропишите как правильно это реализовать, на форуме не нашел...
то есть как должна выглядеть строка, за этим и обратился за помощью...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Вот вариант:

Код
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php $word = explode('||',$linktype); echo str_replace($word[0],'<span class="firstword">'.$word[0].'</span>', $linktype); ?></a><?php

Только на экран вывелось сам разделитель || и стиль поменялся в первой строке а нужно чтоб стиль "class="firstword" относился ко второй...
Что я не так прописал?
« Последнее редактирование: 24.01.2016, 10:12:59 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Вот моя попутка:

Код
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php $word = explode('||',$linktype); echo str_replace($word[0],'<span class="firstword">'.$word[0].'</span>', $linktype); ?></a><?php

Только на экран вывелось сам разделитель || и стиль поменялся в первой строке а нужно чтоб стиль "class="firstword" относился ко второй...
Что я не так прописал?

Нафига там str_replace ? Выводи
<span class="first">$word[0]</span>
<span class="last">$word[1]</span>
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Е
Нафига там str_replace ? Выводи
<span class="first">$word[0]</span>
<span class="last">$word[1]</span>

Если не затруднить напишите как полностью будет выглядеть строка...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Вот этот кусок в цикл добавить, где пункты меню перебираются
Код: php
$pos = mb_strpos($linktype, '||');
if ($pos !== false) {
$linktype = '<span class="title">'.mb_substr($linktype, 0, $pos).'</span><span class="subtitle">'.mb_substr($linktype, $pos + 2).'</span>';
}
А эту строку трогать не надо
Код: php
<a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a>
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Вот этот кусок в цикл добавить, где пункты меню перебираются
Код: php
$pos = mb_strpos($linktype, '||');
if ($pos !== false) {
$linktype = '<span class="title">'.mb_substr($linktype, 0, $pos).'</span><span class="subtitle">'.mb_substr($linktype, $pos + 2).'</span>';
}
А эту строку трогать не надо
Код: php
<a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a>

прочитай первый пост...
попросил как правильно указать (прописать) класс в строке и все...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
прочитай первый пост...
попросил как правильно указать (прописать) класс в строке и все...
Прочитал ! И выдал тебе готовое на 100% решение !
В /modules/mod_menu/tmpl/default_component.php перед этим
Код: php
switch ($item->browserNav)
добавляешь
Код: php
$pos = mb_strpos($linktype, '||');
if ($pos !== false) {
$linktype = '<span class="title">'.mb_substr($linktype, 0, $pos).'</span><span class="subtitle">'.mb_substr($linktype, $pos + 2).'</span>';
}
Прописываешь в CSS классы для:
title и subtitle

.... радуешься жизни...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
mb_strpos JString::strpos
и универсально если, то надо еще в trim обернуть, для случая если вдруг захотят (а ведь захотят :) ) написать
Цитировать
Первая строка || вторая строка
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Прочитал ! И выдал тебе готовое на 100% решение !
В /modules/mod_menu/tmpl/default_component.php перед этим
Код: php
switch ($item->browserNav)
добавляешь
Код: php
$pos = mb_strpos($linktype, '||');
if ($pos !== false) {
$linktype = '<span class="title">'.mb_substr($linktype, 0, $pos).'</span><span class="subtitle">'.mb_substr($linktype, $pos + 2).'</span>';
}
Прописываешь в CSS классы для:
title и subtitle

.... радуешься жизни...

Спасибо большое...

На конец решение...
Просто куча лишних сообщений...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

xilog

  • Новичок
  • 5
  • 0 / 0
Прописываешь в CSS классы для:
title и subtitle

.... радуешься жизни...

здравствуйте подскажите пожалуйста где прописывать CSS классы для: title и subtitle
и можете привести пример
зарание благодарю за ответ
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
подскажите пожалуйста где прописывать CSS классы для: title и subtitle
в любом CSS, который подключается у вас. например, в CSS вашего шаблона Joomla
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 1242
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1462
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1635
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 7162
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS
Один пункт меню думает что он главный

Автор DamaVbubi

Ответов: 4
Просмотров: 1168
Последний ответ 13.02.2024, 19:49:10
от DamaVbubi