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

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Здравствуйте, форумчане.
Мучаюсь с настройкой вывода дополнительных полей с ценами VM2.

Имею - вывод дополнительных полей с ценами (поля приписаны, как атрибут корзины)
в виде:
Число ступеней
8ст. - 115
10ст. - 300
12ст. - 350

Нужно вывести цену с двумя знаками после запятой и надписью грн. после цены или просто добавить "грн."
в виде:
8ст. - 115,00грн.
10ст. - 300,00грн.
12ст. - 350,00грн.

За вывод полей и цен отвечает customfields.php из administrator/components/com_virtuemart/models

там нашел интересующую строку (у меня 880)
Код
foreach ($group->options as $productCustom) {
        $price = $currency->priceDisplay($calculator->calculateCustomPriceWithTax($base_price+$productCustom->custom_price)) ;
       //вот оно - >        $productCustom->text = $productCustom->custom_value . ' - ' . $price;
}

Добавляю в код "грн."  -
$productCustom->text = $productCustom->custom_value . ' - ' . $price . 'грн.';
- получаю ничего - все остается без изменений.
То-же самое получаю при введении под кавычки любого символа. Стоит добавить английскую букву/текст (например grn) - получаю вывод цены с двумя знаками и символом валюты + добавленная буква.

8ст. - 115,00 грн. grn
10ст. - 300,00 грн. grn
12ст. - 350,00 грн. grn

Что не так?
« Последнее редактирование: 24.04.2014, 14:29:49 от shraike »
*

Siber

  • Захожу иногда
  • 150
  • 9 / 0
Re: Требуется помощь по PHP коду
« Ответ #1 : 24.04.2014, 17:45:50 »
Цитировать
$productCustom->text = $productCustom->custom_value . ' - ' . $price . 'грн.';

А если так?
$productCustom->text = $productCustom->custom_value . ' - ' . $price . 'грн\.';
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #2 : 24.04.2014, 20:39:11 »
Такую конструкцию игнорирует, как будто и не добавлял ничего. Т.е. получаю голую цифру
8ст. - 115
10ст. - 300
12ст. - 350
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #3 : 24.04.2014, 20:48:09 »
Может фишка кроется в выводе на экран этого списка?
Код
$group->display = VmHTML::select ('customPrice[' . $row . '][' . $group->virtuemart_custom_id . ']', $group->options, $default->custom_value, '', 'virtuemart_customfield_id', 'text', FALSE);
*

Siber

  • Захожу иногда
  • 150
  • 9 / 0
Re: Требуется помощь по PHP коду
« Ответ #4 : 24.04.2014, 22:56:38 »
Не похоже. А какой ответ выдаст на такой вариант?
. "грн";
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #5 : 24.04.2014, 23:09:53 »
При использовании любых русских букв в любой комбинации и количестве, а также знаков и цифр - они просто игнорируются.
Стоит поставить хотя бы одну английскую букву - получают вывод с двумя знаками после запятой и надпись грн. + введенные символы
*

Siber

  • Захожу иногда
  • 150
  • 9 / 0
Re: Требуется помощь по PHP коду
« Ответ #6 : 25.04.2014, 00:09:09 »
Имелось в виду: поставить грн в двойных кавычках.
Какой будет результат?
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #7 : 25.04.2014, 11:50:49 »
Тип кавычек на результат не влияет. Кодировка файла UTF-8 без ВОМ.
*

Siber

  • Захожу иногда
  • 150
  • 9 / 0
Re: Требуется помощь по PHP коду
« Ответ #8 : 25.04.2014, 12:45:56 »
$productCustom->text = $productCustom->custom_value . ' - ' . $price . 'грн.';

Тогда так:
Добавляете переменную в языковой файл
COM_VIRTUEMART_PRICE_GRN=" грн."

и заменяете
Код
$productCustom->text = $productCustom->custom_value . ' - ' . $price . JText::_ ('COM_VIRTUEMART_PRICE_GRN');
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #9 : 25.04.2014, 14:51:38 »
Не помогает.

Посмотрел содержимое $productCustom по var_dump в варианте, когда после .$price  ни чего не добавляется
получил следующее
Код
object(stdClass)#596 (9) { 
["virtuemart_product_id"]=> string(2) "15"
["custom_params"]=> string(1) "0"
["custom_element"]=> string(1) "0"
["virtuemart_custom_id"]=> string(1) "5"
["virtuemart_customfield_id"]=> string(2) "27"
["custom_value"]=> string(8) " 10ст."
["custom_price"]=> string(9) "220.00000"
["custom_param"]=> string(0) ""
["text"]=> string(25) " 10ст. - 410,00 грн."
}

т.е. в text попадает то, что надо ( " 10ст. - 410,00 грн."), буду разбирать конструкцию вывода

Код
$group->display = VmHTML::select ('customPrice[' . $row . '][' . $group->virtuemart_custom_id . ']', $group->options, $default->custom_value, '', 'virtuemart_customfield_id', 'text', FALSE);
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #10 : 25.04.2014, 16:39:47 »
Покопался в коде
VmHTML::select в общем-то вызывает JHTML::_('select.genericlist'....

Код
public static function select($name, $options, $default = '0',$attrib = "onchange='submit();'",$key ='value' ,$text ='text', $zero=true){
if ($zero==true) {
$option  = array($key =>"0", $text => JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'));
$options = array_merge(array($option), $options);
}
return JHTML::_('select.genericlist', $options,$name,$attrib,$key,$text,$default,false,true);

Вопрос по последнему параметру - ведь это устанавливается $translate=true для HTML::_('select.genericlist'...
похоже он и модифицирует текст - а как он должен работать?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Требуется помощь по PHP коду
« Ответ #11 : 25.04.2014, 17:40:17 »
Вопрос по последнему параметру - как он должен работать?
Этот флаг указывает на то, переводить с помощью JText или нет.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

shraike

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Требуется помощь по PHP коду
« Ответ #12 : 25.04.2014, 17:50:11 »
Непонятна фраза переводить?

почему он из моего текста
["text"]=> string(25) " 10ст. - 410,00 грн."

делает в списке
" 10ст. - 410"

получается, что вместо "10ст. - 410,00 грн."
в функцию передается JText::_("10ст. - 410,00 грн.")?


« Последнее редактирование: 25.04.2014, 17:57:04 от shraike »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна помощь с настройкой плагина BIT VirtueMart Product Badges

Автор maks84zp

Ответов: 5
Просмотров: 3143
Последний ответ 21.01.2018, 14:43:09
от sheldom
Требуется разработка модуля просмотренных товаров в VirtueMart 2

Автор alanbus

Ответов: 0
Просмотров: 940
Последний ответ 01.09.2014, 11:22:24
от alanbus
Галерея товаров нужна помощь

Автор Stasweb

Ответов: 1
Просмотров: 1328
Последний ответ 22.11.2012, 17:15:14
от Stasweb
Требуеться помощь по VM 2

Автор doz-lt

Ответов: 4
Просмотров: 1519
Последний ответ 04.04.2012, 16:19:44
от doz-lt