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

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
День добрый.
Задача вывести в карточке товара его остаток (Joomshopping 4.13.0)
Понимаю что тема уже заезжена но никак не могу понять как добавить контроллер и как  потом получить значение с БД?

Что уже сделал :
1. Добавил поле в админку (карточка товара)
2. Добавил в БД новое поле (INT)
3. Дальше застрял на контроллере. Как запись значение в БД и получить значения в админке и соответственно в карточке товара?

По логике должен быть этот файл - administrator/components/com_jshopping/controllers/products.php
Если это он  - то что в нем дописать?





*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #1 : 02.08.2018, 16:43:52 »

...Задача вывести в карточке товара его остаток (Joomshopping 4.13.0)
Понимаю что тема уже заезжена но никак не могу понять как добавить контроллер и как  потом получить значение с БД?

Что уже сделал : ...

Не пробовали в настройках включить эту функцию?  ;)

Сначала, в Настройки -> Функции магазина -> включить Склад
Потом, Настройки -> Товар -> Товар -> Количество на складе (поставить галку)
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: Добавление нового поля в админке
« Ответ #2 : 02.08.2018, 19:17:34 »
Я в курсе что есть такая штука. Мне нужно отдельно сделать.
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #3 : 02.08.2018, 19:54:15 »
Сделайте атрибутами:
Склад 1: 3шт.
Склад 2: 5шт.
Склад 3: 5шт.

Итого по всем складам: 13шт.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: Добавление нового поля в админке
« Ответ #4 : 02.08.2018, 22:07:51 »
Мне нужно прописать контроллеры 1-ый который запишет значение в БД , а второй который будет выводить в админку и в карточку товара на сайте. Именно здесь ступор!
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: Добавление нового поля в админке
« Ответ #5 : 02.08.2018, 22:59:23 »
Вот инструкция
После вставки в админке на странице редактирования товара должно появиться поле, но вводимые в него данные сохраняться не будут, т.к. необходимо добавить еще поля в БД и контроллер, который будет согласовывать их согласовывать.

2)    Добавление контроллера для формы в админке:

administrator\components\com_jshopping\models\products.php (213)

$post['description1_'.$lang->language] = $input->get('description1'.$lang->id, '', 'RAW');

по этому пути я даже не нахожу description
может в этой версии JS другие файлы?
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #6 : 02.08.2018, 23:41:44 »
Это расширение - Second Description For Product не пробовали вместо хака ядра?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: Добавление нового поля в админке
« Ответ #7 : 03.08.2018, 10:28:37 »
Хак ядра не страшен )). на новом шаблоне все пилиться.
Кстати нашел решение у dmitry_stas нужно в функцию function _getAllProductsQueryForFilter дописать новое значение.
Всем спасибо!!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавление нового поля в админке
« Ответ #8 : 03.08.2018, 11:27:26 »
Хак ядра не страшен ))
не страшен, а очень страшен :)

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

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #9 : 03.08.2018, 14:06:23 »
"Мыши плакали, кололись, но продолжали упорно есть кактус..."  ;D
P.S. Все совпадения случайны! Просто мысли вслух...  :'(
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

merrell

  • Новичок
  • 8
  • 0 / 0
  • Никогда не следует недооценивать предсказуемость т
Re: Добавление нового поля в админке
« Ответ #10 : 20.02.2021, 20:49:06 »

Joomshooping 4.18.5
HTML теги такие как <br /> не сохраняются в базе данных. Текст, цифры, пробелы сохраняются
Создал новое поле для тега H1 в базе данных, дефолтном шаблоне product.php, а так же все что нужно в
/administrator/components/com_jshopping/views/product_edit/tmpl/description.php
Поля успешно сохраняются и выводятся
Но! В нынешней версии Joomshooping 4.18.5 файл контроллер находящийся
/administrator/components/com_jshopping/controllers/products.php
Отличается от старых версий где нужно было добавить в файл код
$post['description1_'.$lang->language] = JRequest::getVar('description1'.$lang->id,'','post',"string", 2);
и HTML теги успешно начинают сохраняться
Пытался отыскать решение в старых темах но ничего толкового не нашел. Только по кусочкам что то около всплывает.
Если в БД в ручную сохраняю поля то теги, например <br /> сохраняются
Заголовки H1 на сайте длинные и нередко нужно перенестись на новую строку для лучшего восприятия пользователем контента
Как править новую версию файла контроллера? Может сейчас нужно править что то еще?
Мигрировал с Joomla 2.5 на последнюю версию Joomla и JoomShopping. Это 5к страниц + и единственная проблема которую я не могу допереть как решить. Спасибо форуму за все остальное.
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #11 : 20.02.2021, 21:11:24 »
Я смотрю не ищите простых решений? Или принципиально против них?

Перенести на следующую строку заголовок можно ограничив его длину стилями CSS, например так:
max-width: 600px; или
так max-width: 80%; или
так max-width: 80vw;

Если не хотите стилями и очень хочется отдельным полем с тегами, то есть бесплатный аддон - Second Description For Product

И совет напоследок:
Прежде чем править ядро компонента (правка кода контроллера), может стоит поискать готовые решения. А то потом запаритесь каждый раз вносить свои правки заново после каждого обновления... И лучше все правки делать плагинами (они для этого и существуют в Joomla) и без проблем потом обновляться.

Некоторые тут (на форуме) к сожалению не понимают зачем обновляться, тогда без комментариев... Из-за таких деятелей потом и появляются слухи, что сайты на Joomla постоянно взламывают.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

merrell

  • Новичок
  • 8
  • 0 / 0
  • Никогда не следует недооценивать предсказуемость т
Re: Добавление нового поля в админке
« Ответ #12 : 20.02.2021, 22:41:30 »
Хочется разобраться в работе компонента данной версии. Этот вопрос актуален всегда, так как подобная тема на форуме всплывёт часто. Всем нужны новые поля для тех или иных целей в joomshoping. И все сталкиваются с новой версией файла контроллера  products.php. хочу заметить что у меня поля сохраняются и выводятся, а проблема лишь HTML теги такие как <br /> не сохраняются в базе данных.

Старое решение уже не работает :(
*

merrell

  • Новичок
  • 8
  • 0 / 0
  • Никогда не следует недооценивать предсказуемость т
Re: Добавление нового поля в админке
« Ответ #13 : 21.02.2021, 16:38:28 »
Разобрался

Путь: /administrator/components/com_jshopping/models/products.php
Находим строку

$post['short_description_'.$lang->language] = $input->get('short_description_'.$lang->language, '', 'RAW');

После нее добавляем поле с вашим названием стобца таблицы (product_h1_ в моем случае)

$post['product_h1_'.$lang->language] = $input->get('product_h1_'.$lang->language, '', 'RAW');

После этого HTML теги успешно сохраняются.

p.s. «Хак Ядра не страшен» © (copyright)
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Добавление нового поля в админке
« Ответ #14 : 21.02.2021, 18:44:32 »
p.s. «Хак Ядра не страшен» © (copyright)
Конечно не страшен, особенно если можно обойтись легко без него (без хака)... Но как я и предполагал ТС не ищет легких путей и не слушает советов.

А еще не плохо бы не давал от себя другим форумчанам вредных советов и не публиковал костыльных решений.

Посмотрим, время покажет... @merrell пока новичок на форуме и в разделе (всего 8 сообщений)... Возможно его мнение со временем поменяется.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Re: Добавление нового поля в админке
« Ответ #15 : 21.02.2021, 23:26:05 »
Сделал несколько складов все через атрибуты!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Товар - файл. Как ограничить добавление в корзину только 1 шт?

Автор SLV

Ответов: 15
Просмотров: 2510
Последний ответ 24.07.2025, 11:34:21
от SLV
Сортировка товаров в админке

Автор Emotion

Ответов: 26
Просмотров: 6888
Последний ответ 15.08.2024, 08:00:20
от kit2m2
Дополнительные поля для категории JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1880
Последний ответ 07.07.2024, 08:43:15
от nevigen
Не посчиталась стоимость товара в заказе, в админке есть

Автор Dolphin4ik_1

Ответов: 1
Просмотров: 584
Последний ответ 28.05.2022, 15:20:28
от victorantoniak
В какой файле происходить добавление заказа в админку?

Автор Dolphin4ik_1

Ответов: 4
Просмотров: 837
Последний ответ 19.04.2022, 21:07:47
от Dolphin4ik_1