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

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Код: sql
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(`name_ru-RU`);
$query->from($db->quoteName('#__jshopping_products_extra_field_values'));
$query->where($db->quoteName('field_id')." = ".$sort);
$db->setQuery($query);
$results = $db->loadObjectList();

Имеем

Цитировать
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `#__jshopping_products_extra_field_values` WHERE `field_id` = 45' at line 2
Вы не можете посетить текущую страницу по причине:

Что?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

almika

  • Захожу иногда
  • 325
  • 27 / 0
Re: Запрос в базу данных - ошибка
« Ответ #1 : 08.08.2017, 01:59:11 »
Так?
Код
$query->where($db->quoteName('field_id'). ' = ' . (int) $sort);
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Запрос в базу данных - ошибка
« Ответ #2 : 08.08.2017, 07:08:01 »
Та же ошибка
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #3 : 08.08.2017, 07:25:02 »
$sort - ?

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

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Запрос в базу данных - ошибка
« Ответ #4 : 08.08.2017, 07:37:10 »
Это целое число, через массу костылей переданное из админки категории на данную страницу. Выводится нормально. Но, кстати, действительно может быть строкой, так как передается из английского названия категории.

Как показать echo $query;  ?
« Последнее редактирование: 23.09.2017, 09:04:22 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #5 : 08.08.2017, 07:40:23 »
так не делай запрос, просто выведи его
Код
// $results = $db->loadObjectList();
echo $query;

P.S. все, ниче не надо выводить.
Код
$query->select(`name_ru-RU`);
что это? :) нужно ж
Код
$query->select('`name_ru-RU`');
или лучше даже
Код
$query->select($db->quoteName('name_ru-RU'));
« Последнее редактирование: 08.08.2017, 07:43:44 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Запрос в базу данных - ошибка
« Ответ #6 : 08.08.2017, 07:42:53 »
ыыыых

Цитировать
SELECT FROM WHERE Array = 45

Почему array  :o
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #7 : 08.08.2017, 07:44:21 »
Код
$query->select($db->quoteName('name_ru-RU'));
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Запрос в базу данных - ошибка
« Ответ #8 : 08.08.2017, 07:46:12 »
Уррря! Заррработало!  :D

UPD

Если бы тот, кто придумал вообще с этими ru-RU работать, икал каждый раз при каком-то затыке по их вине - он бы, наверное, есть не смог  ;D
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

JurgenZoller

  • Захожу иногда
  • 58
  • 4 / 0
Re: Запрос в базу данных - ошибка
« Ответ #9 : 22.09.2017, 14:03:25 »
Уррря! Заррработало!
а я вот сколько не воюю с этими ru-RU, ничего не получается... всё перепробовал((
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #10 : 22.09.2017, 14:03:57 »
что - все?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

JurgenZoller

  • Захожу иногда
  • 58
  • 4 / 0
Re: Запрос в базу данных - ошибка
« Ответ #11 : 22.09.2017, 14:07:36 »
что - все?
и приведенный здесь метод, и манипуляции с кавычками, с обратными кавычками, со скобками []... не знаю как побороть это название с "минусом"...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #12 : 22.09.2017, 14:11:14 »
ну вот все что вы сказали - что нам с этим делать? какую вы помощь рассчитываете получить на это? можем разве что посочувствовать :)

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

JurgenZoller

  • Захожу иногда
  • 58
  • 4 / 0
Re: Запрос в базу данных - ошибка
« Ответ #13 : 22.09.2017, 16:29:47 »
покажите конкретно

ну, например, еще такое:

Код
$data =new stdClass();
$data->product_id = $nextid;
$data->quoteName('name_ru-RU') = $kname;

$db = JFactory::getDBO();
$db->insertObject( '#__jshopping_products', $data, product_id );

любое другое поле обрабатывается, как только с минусом в названии - выдает ошибка синтаксиса, как в примере выше

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Запрос в базу данных - ошибка
« Ответ #14 : 22.09.2017, 16:35:52 »
эм... а это что вообще? где вы взяли пример такого кода? само собой это не будет работать вообще. откуда интересно по вашему у $data появится метод quoteName?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

JurgenZoller

  • Захожу иногда
  • 58
  • 4 / 0
Re: Запрос в базу данных - ошибка
« Ответ #15 : 22.09.2017, 16:41:27 »
просто пытался подставить по вышеописанному примеру. естественно, изначально quoteName там не было.
Код
$data->`name_ru-RU` = $kname;
так и не знаю, как здесь быть.

по вышеописанному примеру разобрался. спасибо большое. у меня заработало))

« Последнее редактирование: 22.09.2017, 17:02:44 от JurgenZoller »
*

dmitry_stas

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

JoomShopping: убрать чекбокс "согласен на обработку персональных данных" с формы

Автор Octo7

Ответов: 11
Просмотров: 1725
Последний ответ 25.07.2024, 08:23:10
от Octo7
Ошибка при установке шаблона

Автор jimka

Ответов: 2
Просмотров: 1991
Последний ответ 23.08.2023, 15:22:52
от victorantoniak
JoomShopping 5.1.1 ошибка Undefined constant "_JSHOP_ORDER_BY"

Автор webaster

Ответов: 6
Просмотров: 1451
Последний ответ 07.01.2023, 13:42:11
от kit2m2
Вернуть запрос из базы по Ajax в плагине.

Автор Dolphin4ik_1

Ответов: 2
Просмотров: 648
Последний ответ 04.12.2022, 09:56:52
от kit2m2
Ошибка при правке данных клиента и попытке отправить письмо из заказа

Автор ecolora

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