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

mreuro

  • Новичок
  • 2
  • 0 / 0
Время оформления заказа
« : 18.06.2013, 03:25:06 »
Здравствуйте люди добрые)
Проблема в следующем. Время где расположен сервер на 9 часов меньше, чем там, где нахожусь я (т.е. сейчас у меня 18.06.13 03.00, а на сервере 17.06.13 18.00). Допустим клиент сделал заказ 18.06.13 в 03.00, а ему приходит письмо, что он сделал заказ 17-ого числа. Может быть можно где нибудь подправить код, чтоб время в письме бралось не серверное, а с сайта.(на сайте горит 18-ое число)
Да, и при добавлении нового товара в админке, дату добавления тоже берет с сервера.
пс прошу прощения если написал немного коряво
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Время оформления заказа
« Ответ #1 : 26.06.2013, 08:42:47 »
если имеется ввиду дата и время самого письма, то это сервер отдает.
он же отправляет все таки и думаю ради 1 клиента временную зону для сервера не изменят.
а в самом заказе должно быть именно дата и время сайтовое.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Время оформления заказа
« Ответ #2 : 26.06.2013, 09:01:34 »
Админка
administrator\components\com_jshopping\controllers\orders.php
функция save()

сайт
components\com_jshopping\controllers\checkout.php
функция step5save()

в
Код
$order->order_date = $order->order_m_date = date("Y-m-d H:i:s", mktime());

date("Y-m-d H:i:s", mktime())

замените на

JHtml::_('date', 'now', 'Y-m-d H:i:s', true)

После этого будет устанавливаться время часовой зоны, выбранной в админке Joomla.
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
Re: Время оформления заказа
« Ответ #3 : 21.10.2015, 15:18:19 »
У меня все даты указаны верно, но время 00:00:00
для всех заказов.
В общих настройках - время стоит Moscow
Что может быть не так?
*

Alex GOOD

  • Захожу иногда
  • 210
  • 0 / 0
  • я только учусь...
Re: Время оформления заказа
« Ответ #4 : 26.10.2015, 23:22:46 »
У меня тоже разница с временем заказа в 3 часа. Где в настройках магазина можно указать время сервера?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Время оформления заказа
« Ответ #5 : 26.10.2015, 23:44:37 »
/administrator/index.php?option=com_config - Часовой пояс сервера
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Время оформления заказа
« Ответ #6 : 26.10.2015, 23:47:11 »
У меня все даты указаны верно, но время 00:00:00
для всех заказов.
В общих настройках - время стоит Moscow
Что может быть не так?
например тип поля в таблице #__jshopping_orders . должен быть datetime. попробуйте запустить DB Checker с сайта разработчиков ЖШ
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Alex GOOD

  • Захожу иногда
  • 210
  • 0 / 0
  • я только учусь...
Re: Время оформления заказа
« Ответ #7 : 28.10.2015, 17:24:23 »
/administrator/index.php?option=com_config - Часовой пояс сервера

dmitry_stas подскажите более детально как это сделать, а то я как то недалекий. Так сказать для чайников пошагово если можно.
Зашел в папку /administrator/ там есть файл index.php  - а что дальше делать?
« Последнее редактирование: 28.10.2015, 17:27:38 от Alex GOOD »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Время оформления заказа
« Ответ #8 : 28.10.2015, 17:41:27 »
http://site.com/administrator/index.php?option=com_config - Часовой пояс сервера.

вопросы, которые не касаются ЖШ, задавайте пожалуйста в общем разделе форуа.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Alex GOOD

  • Захожу иногда
  • 210
  • 0 / 0
  • я только учусь...
Re: Время оформления заказа
« Ответ #9 : 28.10.2015, 18:26:37 »
Все понял. спасибо!
*

Kodopik

  • Осваиваюсь на форуме
  • 35
  • 2 / 3
Re: Время оформления заказа
« Ответ #10 : 08.10.2021, 05:56:22 »
Админка administrator\components\com_jshopping\controllers\orders.php функция save() сайт components\com_jshopping\controllers\checkout.php функция step5save() в
Код
$order->order_date = $order->order_m_date = date("Y-m-d H:i:s", mktime());
date("Y-m-d H:i:s", mktime()) замените на JHtml::_('date', 'now', 'Y-m-d H:i:s', true) После этого будет устанавливаться время часовой зоны, выбранной в админке Joomla.



Пожалуй подниму тему.
Версия JS Version 4.18.7.
На сайте в конфиге стоит +3 часа (время Москвы), сервер там же.
Глобально на всем сайте время верное показывает, создание редактирование и т.д. материалов.
В JS на фронтед и бэкэнд время заказов уходит вперед на +3 часа, а вот в MySQL показывает верное время.

Вопрос: где что поправить чтоб время заказов было такое как и на всем сайте ?

Спойлер
[свернуть]
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Время оформления заказа
« Ответ #11 : 08.10.2021, 08:44:58 »
серверное время ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Kodopik

  • Осваиваюсь на форуме
  • 35
  • 2 / 3
Re: Время оформления заказа
« Ответ #12 : 08.10.2021, 14:42:16 »
Третья строчка в содержании моего текста изначально.
*

Kodopik

  • Осваиваюсь на форуме
  • 35
  • 2 / 3
Re: Время оформления заказа
« Ответ #13 : 08.10.2021, 18:51:10 »
Сам задал вопрос, сам и отвечаю, способ решения:


в файле \administrator\components\com_jshopping\views\orders\tmpl\show.php строка 44, этот файл отвечает за вывод информации внутри заказа.

Код
<td>
     <?php echo formatdate($order->order_date, 1);?>
</td>
меняем на:
Код
<td>
     <?php echo $order->order_date;?>
</td>

Едем дальше.....

в файле \administrator\components\com_jshopping\views\orders\tmpl\list.php строка 209, этот файл отвечает за вывод всех заказов.

Код
<td>
     <?php echo formatdate($row->order_date, 1);?>
</td>
<td>
     <?php echo formatdate($row->order_m_date, 1);?>
</td>
меняем на:
Код
<td>
     <?php echo $row->order_date;?>
</td>
<td>
     <?php echo $row->order_m_date;?>
</td>

Готово, радуемся )))
Спойлер
[свернуть]

P.S. аналогично меняем параметры отображения в других файлах где нужно, в моем случае это еще и на ФРОНТЕД.
« Последнее редактирование: 08.10.2021, 19:20:16 от Kodopik »
*

Kodopik

  • Осваиваюсь на форуме
  • 35
  • 2 / 3
Re: Время оформления заказа
« Ответ #14 : 08.10.2021, 20:58:12 »
Так же, хочу объяснить, почему именно у меня так произошло, а все дело в том, что залез я туда куда не надо.
Мне нужно было выводить дату в формате 08 октября 2021, а не 08.10.2021.
Но так как форматирование даты JS идет в strftime(), а не date(), то я сразу не сообразил в чем дело и почему дата не выводится мне именно так как надо мне.
В итоге в \components\com_jshopping\lib\functions.php строка 198, я изменил формат с %H:%M:%S, на d F Y H:i:s
Код
Новый формат какой мне нужен был

function formatdate($date, $showtime = 0){
    $jshopConfig = JSFactory::getConfig();
    $format = $jshopConfig->store_date_format;
    if ($showtime) $format = 'd F Y H:i:s';
    return JHtml::_('date', $date, $format);
}

Старый формат как было изначально

function formatdate($date, $showtime = 0){
    $jshopConfig = JSFactory::getConfig();
    $format = $jshopConfig->store_date_format;
    if ($showtime) $format = $format." %H:%M:%S";
    return strftime($format, strtotime($date));
}
и потом уже в конфиге administrator/index.php?option=com_jshopping&controller=config&task=general поставил так как мне нужно было.

В этом и была проблема разницы во времени.


Вернул все на место тут \components\com_jshopping\lib\functions.php и оставил %d.%m.%Y - %H:%M:%S тут administrator/index.php?option=com_jshopping&controller=config&task=general


Век учись как говорится ;D *ОХ-Х-Х*
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
Re: Время оформления заказа
« Ответ #15 : 08.10.2021, 21:00:44 »
главное что решилось
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 767
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Про статусы заказа: как перевести и когда они меняются?

Автор Maxum

Ответов: 18
Просмотров: 10288
Последний ответ 18.10.2024, 10:45:13
от nevigen
Как сделать файлы для продажи доступными для скачивания при любом статусе заказа?

Автор UNh0ly

Ответов: 4
Просмотров: 2220
Последний ответ 18.09.2023, 09:10:17
от ИммоБокс
Глюк со сменой статуса заказа

Автор Preview

Ответов: 4
Просмотров: 1047
Последний ответ 07.02.2023, 16:06:38
от kit2m2
Ошибка при правке данных клиента и попытке отправить письмо из заказа

Автор ecolora

Ответов: 40
Просмотров: 2777
Последний ответ 17.09.2022, 20:06:26
от marksetter