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

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
Здравствуйте, друзья! Снова очень нужна ваша помощь!


Подскажите пожалуйста, как можно добавить кнопку Оплатить в детали заказа (при статусах заказа Ожидающий и Подтвержден) ?, при клике по которой клиент будет оплачивать заказ тем способом оплаты, который указан в заказе. 

Обычно используется способ оплаты Приват 24.

Дело в том, что нужно, чтобы клиент оплатил товар ТОЛЬКО  после того, как с ним свяжется менеджер магазина и подтвердит наличие всех товаров, которые клиент заказал, или же менеджер  изменил заказ (потому-что каких-то товаров нет в наличии или в том кол-ве в котором их заказали). И только после этого менеджер звонит клиенту и потом КЛИЕНТ ДОЛЖЕН ОПЛАТИТЬ ЗАКАЗ! А кнопки оплаты нету в Деталях заказа! Вот как ее туда добавить? Оплата именно тем методом, который указан в заказе.

вот так как на картинке ниже!
Спойлер
[свернуть]

И нужно, чтобы на финальном 6м этапе оформления заказа (Подтверждение заказка) клиента не перенаправляло на страницу оплаты выбранного способа оплаты, а перенаправляло в детали заказа.

Мне очень нужно это реализовать! Через неделю сдавать магазин! Помогите пожалуйста!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
вот такое есть прям как вам надо https://nevigen.com/ru/payment/post-oplata-zakazov-oplata-potom-v-joomshopping.html

Ок ! Друг! Скорее всего я у вас его приобрету! Это то, что мне нужно! Только нужно чтобы он работал на 2х доменах (на моем домене с рабочими проэктами и на домене с интеренет магазином клиента  и чтобы на localhost тоже работал)
*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
ОК! Подскажите тогда пожалуйста, как организовать перенаправление на финальном 6м этапе оформления заказа (Подтверждение заказка) не на страницу оплаты выбранного способа оплаты, а в детали заказа?.

Или вообще отключить перенаправление на страницу оплаты выбранного способа оплаты, а сразу показывать страницу, что заказ завершен и устанавливать статус заказа в Ожидающий!
*

nevigen

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

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
есть опция прерывания заказа.
перенаправлений нет.
Смотрел В Настройках Магазина на всех вкладках. Что-то не могу найти такой опции. Где именно ее искать?

По остальным вопросам вас понял! Спасибо большое за поддержку и момощь всем кто откликнулся!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
....Что-то не могу найти такой опции. Где именно ее искать?....
пока нигде. когда приобретете найдете :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
Посмотрел сейчас код основного класса оплаты для Приват24

Вот он..  Скажите, правильно ли я все понял.. Для того, чтобы в детали заказа добавить кнопку Оплаты по Приват24 нужно в Детали заказа добавить форму оплаты с правильно заполненными input из метода  pm_privat24::showEndForm(); Так ведь? И проcто вставить в нее Кнопку Submit. И когда на нее кликнут - то пойдет отправка данных об оплате на https://api.privatbank.ua/p24api/ishop  и в случае успешной оплаты клиент автоматически будет перенаправлен на
Код
<?php // вот сюда перенаправит если оплата успешна $return_url = $liveurlhost.SEFLink("index.php?option=com_jshopping&controller=checkout&task=step7&act=return&js_paymentclass=".$pm_method->payment_class); ?>
<input type="hidden" name="return_url" value="<?php print $return_url?>" />
из этого же метода.. 

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

*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
Ребята, подскажите пожалуйста, как сделать, чтобы при выборе метода оплаты ПРиват24, клиента перебрасывало на страницу завершения заказа и чтобы у заказа был статус "Ожидающий", или "Не оплачен" и этот заказ появился в личном кабинете клиента и в админ панели в  списке заказов..
И  не шло автоматич перенапраление на оплату через ПРИВАТ24 API 


какой код формы нужно вставлять в метод pm_privat24::showEndForm() чтобы осуществить такое перенаправление?


Подскажите пожалуйста!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
просто создайте способ оплаты П24 в ЖШ и все. а не используйте он-лайн плагин оплаты.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
просто создайте способ оплаты П24 в ЖШ и все. а не используйте он-лайн плагин оплаты.


нет.. ну мне нужен именно рабочий приват 24 плагин оплаты.. только оплата будет производится после того как менеджер магазина подтвердит заказ. т.е чтобы клиент после контакта с менеджером смог оплатить из своего кабинета. там будет кнопка оплаты..
Я помню, nevigen, про вашу покупную кнопку оплаты.. но что-то они ее не хотят покупать (хоть и стоит она копейки).. поэтому я пока сам подолбаюсь, а если вам не сложно, подскажите мне, что да как нужно сделать..очень вас прошу! Если хотите, давайте через ПС, чтобы тут какие-то рабочие моменты не светить..

Я вам реально буду очень признателен!

Вот я уже частично решил вопрос с перенаправлением на Завершение заказа.. но в статусе заказа сейчас показывает ОПЛАЧЕН!! А нужен - ОЖИДАЮЩИЙ!

я просто заменил форму оплаты приват 24 из плагина в методе pm_privat24::showEndForm() на следующую

Код
<html>
          <head>
              <meta http-equiv="content-type" content="text/html; charset=utf-8" />
          </head>
          <body>
            <form id="paymentform" action="<?php echo $return_url ?>" name="paymentform" method="post" accept-charset="UTF-8">
                <?php
                $payment_str = 'total='.$order->order_total.'&currency='.$order->currency_code_iso.'&details='.$order->order_number.'&ext_details='.$item_name.'&pay_way=privat24&order='.$order->order_id.'&merchant='.$pmconfigs['merchant_id'].'&state=ok';  ?>
                <input type="hidden" name="payment" value="<?php echo $payment_str ?>" />
                <input type="hidden" name="signature" value="<?php echo sha1(md5($payment_str.$pmconfigs['merchant_pass']))?>" />               
               
            </form>
            <script type="text/javascript">document.getElementById('paymentform').submit();</script>
          </body>
        </html>

*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
сам же отвечаю на свой вопрос из пред сообщ!

Получилось у меня сделать, чтобы статус заказа становился Ожидающий!

яв переменной $payment_str в '&state=ok' установил '&state=pending'

и в методе pm_privat24::checkTransaction()

там где он статус заказа проверяет добавил доп проверку $astate[1] == 'pending' вот теперь он возвращает заказ со статусом Ожидающий, если в '&state=pending'.

Осталось добавить форму для пост оплаты  в личный кабинет клиента в список заказов и в детали заказа!
Надуюсь, это у меня тоже получится! Спасибо, что поддерживаете!

Код
// Check payment state
if ($astate[1] == $mystate) {
    return array(1, '');
} elseif ($astate[1] == 'pending') {
    return array(2, '');
  } elseif ($astate[1] == 'fail') {
            return array(3, 'Status Failed. Order ID '.$order->order_id);
        } else {
            return array(0, "Order number ".$order->order_id."\nPrivat24 error\nPrivat24 state - ".$astate[1]);
        }

}

*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
пока писал про статус, сами ответили :)
ага поддреживаем :) мы рядом, вы главное не останавливайтесь:)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Yura Vakulenko

  • Захожу иногда
  • 238
  • 6 / 1
Юрка успешно добавил кнопку пост оплаты от приват24! Спасибо большое что поддерживаете!
Да прибудет с вами сила!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор goga_pgasovav

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

Автор Maxum

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

Автор UNh0ly

Ответов: 4
Просмотров: 2220
Последний ответ 18.09.2023, 09:10:17
от ИммоБокс
Добавить кнопку 'В корзину'

Автор Indexxx

Ответов: 16
Просмотров: 3291
Последний ответ 13.09.2023, 10:42:25
от kit2m2
Как добавить Title при загрузки картинки?

Автор art22

Ответов: 16
Просмотров: 1644
Последний ответ 04.05.2023, 17:21:50
от art22