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

buto

  • Давно я тут
  • 570
  • 1 / 0
Добрый день. Интересует возможно ли реализовать в JoomShopping вывод условия, что сначала выбирается вид доставки (пример "самовывоз" либо "доставка курьером"), а уже исходя из выбранного типа отображается адрес доставки. К примеру для "самовывоза" адрес доставки и выбор города не отображается, а для выбора "доставки курьером" появляются поля адреса доставки.
*

dmitry_stas

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

buto

  • Давно я тут
  • 570
  • 1 / 0
в смысле, можно ли такое реализовать технически? например, попробуйте купить тут что нибудь. этот принцип имеется в виду?
Да именно он.
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
в смысле, можно ли такое реализовать технически? например, попробуйте купить тут что нибудь. этот принцип имеется в виду?

Тоже доже интересует этот вопрос. Как такое можно реализовать?
*

koldun

  • Новичок
  • 1
  • 0 / 0
ну что, товарищи? есть соображения по этому поводу?

создаю свой первый интернет магазин на системе JoomShopping и столкнулся с тем, что мне тоже нужно заставить покупателя сначала выбрать способ доставки - к примеру новая Почта либо обычная почта, после чего он уже должен вводить адрес (в случае с новой почтой - адрес их склада, а в случае с обычной почтой - свой домашний адрес), потому что как то туповато пока что все получается)
*

Milan720p

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
+1. Тоже очень интересует. У меня в интернет-магазине отправка во все страны СНГ с Украины, естественно вариантов доставок - море.
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
в смысле, можно ли такое реализовать технически? например, попробуйте купить тут что нибудь. этот принцип имеется в виду?

Да. Как такое реализовать?
*

prototype

  • Новичок
  • 3
  • 1 / 0
*

prototype

  • Новичок
  • 3
  • 1 / 0
С помощью аддона http://nevigen.com/ru/shop/addons/onestepcheckout-joomshopping.html можно такое реализовать?
*

nevigen

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

irc-h

  • Захожу иногда
  • 158
  • 8 / 0
Возможно проще будет покопать немного в другом направлении: оставить поле "Адрес" как есть, просто убрать из него адреса доставки полностью и поработать с самой страницей доставки, т.е. если выбираем например доставка курьером то при выборе вываливаются данные для заполнения итп по аналогии со способами оплаты.
*

irc-h

  • Захожу иногда
  • 158
  • 8 / 0
а разве этот вопрос ещё актуальный?
А есть готовое решение?
Если я ничего не путаю, то на текущий момент нет возможности построить зависимость между выбранным способом доставки и полями раздела "Адрес" средствами компонента или адона/плагина(я лично не нашел, если есть)
Например у нас самовывоз -> клиенту по хорошему не нужно заполнять адрес доставки или если выбран самовывоз от партнера и у партнера несколько пунктов самовывоза, то нужно ставить выбор списка и т.п.
« Последнее редактирование: 22.04.2014, 17:44:08 от irc-h »
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
Тема актуальная.
« Последнее редактирование: 23.04.2014, 06:00:18 от Anton shop »
*

Milan720p

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
*

pvi1

  • Давно я тут
  • 566
  • 16 / 2
в смысле, можно ли такое реализовать технически? например, попробуйте купить тут что нибудь. этот принцип имеется в виду?
Дмитрий, не поделитесь?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Я реализовывать такое. Без изменения файлов магазина сделать нет возможности, по этому готового решения скорее всего не будет, пока сами разработчики магазина не сделают.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Дмитрий, не поделитесь?

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
Т.е. это можно сделать и в стандартном шаблоне чекаута, естественно изменив shipping.php?
« Последнее редактирование: 27.06.2015, 11:57:25 от pvi1 »
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
Допустим, название первого шага "Адрес" меняем на "Введите Ваши данные" и оставляем там только имя и телефон. Дальше -способ оплаты, дальше "способ доставки" . И вот в код shipping.php вставляем div с кодом от первого шага. При помощи javascript создаем функцию, которая при помощи Query присваивает  этому диву .hide, а при выборе нужного  способа доставки (у него есть свой ID) присваеваем диву .show.
Реально ли это таким способом осуществить?
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
А в Вашем OneStepCheckout таким методом более реально сделать?
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
На свежую голову все становится поразительно просто.
Итак:
1 шаг - меняем название "адрес доставки" на "Введите данные". Оставляем поля Имя(Фамилия), телефон, E-mail (не обязательно)
Меняем в выпадающем списке название "Адрес доставки" на "Нужна доставка?"
В самом списке "Такой же" меняем на "Нет", "Другой" на "Да"
При нажатии "Да" оставляем поля Город, улица, дом, квартира (хотя в админке корявенько сделано с неточностями)
Все, вопрос решен.
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
Согласен, но главная цель достигнута: клиент без необходимости не выводит свои дополнительные личные данные и экономиться время на заполнение. А эти два фактора значительно влияют на поведение клиента.
*

fonis

  • Новичок
  • 7
  • 0 / 0
более реально просто потому, что в OneStepCheckout уже практически все это есть. поскольку все на одной странице, то не нужно беспокоится о сохранении, порядке шагов и прочем. нужно будет просто разместить в шаблоне нужные поля не в блоке адреса, а в блоке доставки, и показывать их только при необходимости. ну и если есть необходимость обязательности полей адреса доставки, то тоже надо будет поработать над этим, чтобы они были обязательны только при определенных выбранных способах оплаты. а все остальное - уже готово.

Нужна помощь в реализации подобного на OneStepCheckout
*

nevigen

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

MichailPickStyle

  • Захожу иногда
  • 65
  • 2 / 0
Всем привет!
У меня тот же вопрос только наоборот!))) Как сделать, чтобы тип доставки зависел от введенного адреса, а конкретно города на OneStepChekout? Если вводим определенный город в поле, то один из типов доставки скрывался, а другой становился "checked". Также при рендеринге страницы, чтобы если в поле есть этот самый город - определенный тип доставки не показывался.

Пока в голову приходит только использовать js(скрывать блок типа доставки, если это "тот самый" город, убирать с него checked, если он есть и ставить(checked) нужному типу доставки) в main.js.php  в методе обновления формы(oneStepCheckout.updateForm) до отправки аякса и после(так как AJAX все равно возвращает json, в котором есть этот тип доставки, даже если serialize его не собирал). Также в скрипте своего шаблона проделывать примерно то же(чтобы при рендеринге страницы скрывался)...

Но это похоже на костыль костыльный) Может кто подскажет/направит на более грамотный способ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Есть ли бесплатный модуль вывода товаров для JoomShopping?

Автор Damarkuzz

Ответов: 8
Просмотров: 968
Последний ответ 29.07.2022, 15:43:48
от kit2m2
Умножение основной цены от выбора атрибута

Автор misteri27

Ответов: 4
Просмотров: 727
Последний ответ 15.07.2022, 15:20:08
от kit2m2
Отобразить данные из БД на шаге выбора доставки

Автор Dolphin4ik_1

Ответов: 17
Просмотров: 1208
Последний ответ 17.01.2022, 08:59:55
от kit2m2
Условие вывода для поля URL

Автор kik84

Ответов: 3
Просмотров: 692
Последний ответ 09.12.2021, 12:18:34
от draff
Адрес доставки

Автор Влад

Ответов: 3
Просмотров: 5440
Последний ответ 23.10.2021, 19:02:05
от nevigen