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

flapjalc

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Имеется связка модуля и компонента в Joomla.
Модуль включает в себя фильтр который позволяет пользователю выбирать соотвествующие параметры.
Код модуля:
Код
<span class="title-selects">Вы можете выбрать программу, используя селектор:</span>

<form action="/programs" method="post" name="adminForm" class="programslist" id="filter_form">
<div class="row-fluid">
<!-- Первый блок -->
<div class="span6 selects">
<!-- Программа -->
<div class="select-box">
<span>Программа:</span>
<select name="filter[program_type]" id="program_type_selector">
<option value="0">Выберите программу</option>
<?
foreach ($filter_list['program_type'] as $option) {
echo '<option value="'.$option->id.'"'.$m.'>'.$option->name.'</option>';
}
?>
</select>
</div>
<hr class="separator" />

<!-- Страна -->
<div class="select-box">
<span>Страна:</span>
<select name="filter[country][]" id="country_selector" disabled>
<option value="0">Выберите страну</option>
</select>
</div>
</div>
<!-- Второй блок -->
<div class="span6 selects">
<!-- Город -->
<div class="select-box">
<span>Город:</span>
<select name="filter[city]" disabled id="city_selector">
<option value="0">Выберите город</option>
</select>
</div>
<hr class="separator" />
<!-- Продолжительность -->
<div class="select-box">
<span>Продолжительность:</span>
<select name="filter[program_length]" disabled id="program_length_selector">
<option value="0">Выберите  продолжительность</option>
</select>
</div>
</div>
</div>
<input type="hidden" name="filter[program_kind]"   id="program_kind" value="4" />
<input type="hidden" name="filter[accomodation]"   id="program_accomodation" value="0" />
<input type="submit"  class="btn send-select pull-right" id="send_select" value="Подобрать"/ >
<div class="clearfix"></div>
</form>

https://studentprograms.ru/ekzamenatsionnye-kursy.html
При отправке данных с модуля, в компонент выводится соотвествующие результаты, и вместе с результатами выводится аналогичная форма, с помощью которой пользователь может изменить ранее выбранные параметры, на другие. Но форма не рабочая. Как мне передать в нее параметры формы модуля?
« Последнее редактирование: 17.10.2017, 20:30:05 от flapjalc »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Лучше используйте get вместо пост.
Затем через JInput передавай значения параметров фильтра в state модели. В зависимости от них меняйте запрос в getlistquery
Ответа не пугайтесь просто делайте шаг за шагом и все поймёте.
Будут вопросы спрашивайте. Контакты в подписи. 
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Ответа не пугайтесь просто делайте шаг за шагом и все поймёте.
Будут вопросы спрашивайте. Контакты в подписи. 
По-моему вы специально писали так, чтобы человек ничего не понял. Какие JInput, state и getListQuery? Да он сам не знает, какой код показать в своем сообщении.
@flapjalc, ваш модуль подгружает поля посредством AJAX. Делается это в файле /modules/mod_vd_filter6/mod_vd_filter6.ajax.php. Если форма в компоненте была изначально, а не добавлена вами, то скорее всего, вы какую-то настройку не включили. В противном случае нужно посмотреть код компонента и модуля. Тот код, который вы привели, ни о чем не говорит - это всего лишь HTML-вывод формы.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
По-моему вы специально писали так, чтобы человек ничего не понял. Какие JInput, state и getListQuery?
Остальное бы гугл рассказал )
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

flapjalc

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
@Septdir @robert
Цитировать
По-моему вы специально писали так, чтобы человек ничего не понял. Какие JInput, state и getListQuery?
И да, и нет.  ;D
Дело в том, что я всего лишь дорабатываю компонент который был написал другим разработчиком. Всякие JInput, state и getListQuery присутствуют в файле модели компонента programs.php. Потому, эти методы мне уже понятны на вид) В Джумле только начинаю осваиваться, но есть цель многое понять, усвоить. Если нужно, могу привести тот код, или участок кода файла компонента который покажет вам ясность проблемы. Просто скажите какой. Знаю что есть модель которая получает данные из базы, и есть вид в который выводятся эти самые полученные данные. Но тут передача идет с модуля в компонент, а не с базы. Потому не пойму что к чему[/size]
« Последнее редактирование: 18.10.2017, 20:47:31 от flapjalc »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Без разницы откуда будут идти парметры с модуля или с пункта меню. Все это едино.
Сначала пределайте форму с post на get. Затем получайте параметры по одному. Ну или же попропуйте так $app->input->getAray('filter');
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 131
Последний ответ 15.11.2025, 16:20:01
от all_zer
Компонент Admin Tools

Автор web1

Ответов: 3
Просмотров: 908
Последний ответ 06.10.2024, 13:02:10
от web1
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 778
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1214
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Компонент вверху в админ панели

Автор cirip

Ответов: 1
Просмотров: 931
Последний ответ 14.05.2024, 13:50:32
от Гоша_Компьютерный