Новости 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 Ответов
  • 1027 Просмотров
*

Sawell

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Приветствую!
Сабж. Хочу сделать ограничение доступа к информации в карточке товара. Например есть некие поля "Кол-во на складе", "Кол-во в торговом зале", требуется выводить эту информацию только пользователям из определенной группы. Когда логинишься на сайте, то в карточке товара во фронтенде появляется ссылка на "edit_link" на редактирование товара. в default.php шаблона выводиться так echo $this->edit_link; - Вопрос, кто-нибудь знает где это все формируется, и как сделать по аналогии вывод других полей. Всем заранее спасибо за идеи. 
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
<?php
$usergroup_id = JFactory::getUser()->
guest ? JSFactory::getUserShopGuest()->
usergroup_id:  JSFactory::getUserShop()->
usergroup_id;
?>
определение группы для ЖШ.Отсюда: http://joomlaforum.ru/index.php?topic=275847.0
Для VirtueMart также почти, вывод сами можете  сделать, как вам удобно.

Но я бы не лез в код, а воспользовался плагином скрытия: из админки копи(нет времени искать разраба)
Спойлер
[свернуть]

Вот, а потом его выведете для VirtueMart.И без хаков и ломалки кода.
В плагине есть настройки и выбор в HTML заглушки.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Sawell

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
<?php
$usergroup_id = JFactory::getUser()->
guest ? JSFactory::getUserShopGuest()->
usergroup_id:  JSFactory::getUserShop()->
usergroup_id;
?>
определение группы для ЖШ.Отсюда: http://joomlaforum.ru/index.php?topic=275847.0
Для VirtueMart также почти, вывод сами можете  сделать, как вам удобно.

Но я бы не лез в код, а воспользовался плагином скрытия: из админки копи(нет времени искать разраба)
Спойлер
[свернуть]

Вот, а потом его выведете для VirtueMart.И без хаков и ломалки кода.
В плагине есть настройки и выбор в HTML заглушки.
Благодарю! Буду изучать.
*

Sawell

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
В общем сделал так:
Код
						<div>
                                                   <?php //Получаем группу пользователей
//echo JFactory::getUser();;
$user = JFactory::getUser();
$groups = $user->get('groups');
foreach($groups as $group) {

//Выводим остатки
if (($group = '8')) {
echo "<div>Всего товара в наличии: " . $this->product->product_in_stock . "</div>";
echo "<div>Зарезервировано: " . $this->product->product_ordered . "</div>";
echo "<div>В свободном остатке: " . ($this->product->product_in_stock - $this->product->product_ordered). "</div>";
}
}
      ?>
</div>
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
всё верно, но я бы добавил к if else, т.е если вдруг не так по условиям, что произойдёт?!
или return возврата.
А ещё можно плагин всплывающего окна с ошибкой (по себе сужу, себе так делал, но на ЖШ)
// И зачем столько эчо с дивами.сделайте один div с классом своим.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Sawell

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
всё верно, но я бы добавил к if else, т.е если вдруг не так по условиям, что произойдёт?!
или return возврата.
А ещё можно плагин всплывающего окна с ошибкой (по себе сужу, себе так делал, но на ЖШ)
// И зачем столько эчо с дивами.сделайте один div с классом своим.


Спасибо за совет! ))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка По наличию товара - сначала По убыванию в VirtueMart

Автор rsn

Ответов: 7
Просмотров: 3926
Последний ответ 10.04.2025, 01:19:37
от strongest
Открытие карточки товара VirtueMart3 в новом окне из категории

Автор djed9

Ответов: 2
Просмотров: 2906
Последний ответ 16.07.2021, 09:06:35
от djed9
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 3554
Последний ответ 06.06.2021, 01:12:01
от Slava77
Дробное количество товара в VM3

Автор alikon1

Ответов: 5
Просмотров: 2454
Последний ответ 12.03.2020, 14:16:42
от erbsen
Продублировать фото товара после описания

Автор djed9

Ответов: 3
Просмотров: 916
Последний ответ 11.02.2020, 13:16:46
от djed9