Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 2655 Просмотров
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
вопросец.

в компоненте где-то же своя функция на это есть...
« Последнее редактирование: 09.08.2013, 02:26:49 от ELLE »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
долго ответ писал :)

Цитировать
но, а вообще, в компоненте где-то же своя функция на это есть...

в компоненте нет. в Joomla есть. JFilterOutput::stringURLSafe($string)

сначала выбираем все product_id

$db = JFactory::getDBO();
$db->setQuery('select distinct product_id, `name_ru-RU` as name from `#__jshopping_products` where parent_id=0');
$rows = $db->loadObjectList();

затем в цикле перебираем их и для каждого обновляем алиас

foreach ($rows as $row) {
    $db->setQuery('update `#__jshopping_products` set `alias_ru-RU`="'.JFilterOutput::stringURLSafe($row->name).'" where product_id='.$row->product_id);
    $db->execute();
}
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
работает, спасибо  *DRINK*
« Последнее редактирование: 09.08.2013, 02:26:18 от ELLE »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
 *DRINK*

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

kilolife

  • Новичок
  • 2
  • 0 / 0
Ребята, код понятен, а куда его более правильно положить чтобы использовать?
Там же обертка нужна, Joomla и джумшоп инициализации и тд.

А то подмывает сделать в базе
Код
update x3c5v_jshopping_products set `alias_ru-RU` = CONCAT(product_id, '-', translit(`name_ru-RU`));
« Последнее редактирование: 28.11.2013, 13:43:50 от kilolife »
*

dmitry_stas

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

kilolife

  • Новичок
  • 2
  • 0 / 0
Окей спасибо.
Трогать установленное не хочется, так что появился повод чуть чуть занырнуть в MVC Joomla и осилить создание минимального модуля для админки.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 36193
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2313
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1553
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
JShopping 5: отображение всех подкатегорий

Автор Napst3r

Ответов: 2
Просмотров: 1268
Последний ответ 10.01.2025, 14:54:21
от Napst3r
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1757
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov