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

SkaterSPB

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Нужно заключить приписку "руб" к цене в отдельный <span class=""></span>
Какой файл отвечает за формирование цены из числа и валюты?
вот скрин на котором видно о чем я говорю

Буду премного благодарен
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: Где формируется цена? Шаблон цены.
« Ответ #1 : 17.03.2012, 23:12:51 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
Код
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
Код
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
Код
$replace = array($sign, $res, $this->_symbol);
сделать
Код
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');
*

SkaterSPB

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: Где формируется цена? Шаблон цены.
« Ответ #2 : 18.03.2012, 00:09:26 »
Все работает!
Премного благодарен!
« Последнее редактирование: 18.03.2012, 11:20:13 от SkaterSPB »
*

SpaceRabbit

  • Осваиваюсь на форуме
  • 33
  • 11 / 0
Re: Где формируется цена? Шаблон цены.
« Ответ #3 : 27.03.2012, 21:59:42 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб, и можно ли убрать их только для модуля  Последних покупок, а в категориях оставить как было?
*

alkatran

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Где формируется цена? Шаблон цены.
« Ответ #4 : 30.03.2012, 08:06:09 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
Код
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
Код
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
Код
$replace = array($sign, $res, $this->_symbol);
сделать
Код
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');

а для версии 1,1,9 не подскажите где это можно сделать?
*

Governor

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Где формируется цена? Шаблон цены.
« Ответ #5 : 26.06.2012, 16:00:07 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб,

+1
*

Deepgrey

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Где формируется цена? Шаблон цены.
« Ответ #6 : 06.08.2012, 21:58:50 »
Хоть убейте не могу найти
/administrator/components/com_virtuemart/helpers/currencydisplay.php
в ВМ 2.0.6
Не подскажете где искать?
*

Serhiy_P

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Где формируется цена? Шаблон цены
« Ответ #7 : 07.11.2012, 00:43:25 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
Код
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
Код
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
Код
$replace = array($sign, $res, $this->_symbol);
сделать
Код
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');

Спасибо!
*

ddn821

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Где формируется цена? Шаблон цены
« Ответ #8 : 18.01.2014, 21:52:31 »
Здравствуйте, возникла похожая ситуация - не могу найти где находятся само значение цены (цифры).
Цена: 111 руб.
Есть необходимость заключить цену в div для микроразметки, а в php не силен.
Помогите пожалуйста. Спасибо.
*

Plazmodina

  • Захожу иногда
  • 228
  • 7 / 2
Re: Где формируется цена? Шаблон цены
« Ответ #9 : 18.01.2014, 21:59:27 »
Здравствуйте, возникла похожая ситуация - не могу найти где находятся само значение цены (цифры).
Цена: 111 руб.
Есть необходимость заключить цену в div для микроразметки, а в php не силен.
Помогите пожалуйста. Спасибо.

Если есть руки и голова то можно сделать так - http://joomlaforum.ru/index.php/topic,197079.msg1417860.html#msg1417860 Голова есть? Руки есть? Вперёд!
*

ddn821

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Где формируется цена? Шаблон цены
« Ответ #10 : 18.01.2014, 23:30:50 »
Голова есть? Руки есть? Вперёд!
Спасибо тебе добрый человек! Знаний не хватает. Неделю мучился, перечитал всю ветку по VM2, "дрюкал" поиск - ничего. А тут почти сразу заработало.
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Где формируется цена? Шаблон цены
« Ответ #11 : 20.01.2017, 13:22:36 »
в версии 2.0.22c не работает (( может кто знает как сделать для данной версии?
как оказалось, вот мой вариант:
Код
$replace = array($sign, $res, '<span class="">'.$this->_symbol);
« Последнее редактирование: 20.01.2017, 15:58:20 от Bowa »
*

Strikerus

  • Захожу иногда
  • 103
  • 7 / 0
  • Aka Smyke
Re: Где формируется цена? Шаблон цены
« Ответ #12 : 25.04.2017, 10:24:15 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб, и можно ли убрать их только для модуля  Последних покупок, а в категориях оставить как было?

Если для всего сайта на VirtueMart 2:

Нужно заменить в файле /administrator/components/com_virtuemart/helpers/currencydisplay.php строку:
Код: php
$priceFormatted = $this->priceDisplay($price,0,(float)$quantity,false,$this->_priceConfig[$name][1],$name );
на:
Код: php
$priceFormatted = str_replace(',00', '', ($this->priceDisplay($price,0,(float)$quantity,false,$this->_priceConfig[$name][1],$name )));

Если для модуля - аналогично отрезайте ,00 уже в самом модуле
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Достойный шаблон VirtueMart 3, готов купить

Автор Terlovoy

Ответов: 5
Просмотров: 1483
Последний ответ 19.03.2018, 14:40:07
от lexxbry
Отсутствует дефолтный шаблон VirtueMart

Автор vvv5

Ответов: 5
Просмотров: 1427
Последний ответ 01.02.2018, 14:25:00
от vvv5
Отдельный шаблон для страницы "Результаты поиска"

Автор ustmm

Ответов: 0
Просмотров: 1064
Последний ответ 16.09.2017, 22:39:28
от ustmm
Вывести в карточке товара цены для разных групп

Автор kushavin

Ответов: 3
Просмотров: 1502
Последний ответ 24.04.2017, 02:04:06
от VIPersone
Где редактировать шаблон письма VM 2.0.6

Автор Пират

Ответов: 7
Просмотров: 7523
Последний ответ 25.12.2016, 23:07:53
от SusaninIvan