Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Кроме этого, в состав пакета установки входит плагин, который позволяет выводить атрибуты товара в список всех товаров, менять эти атрибуты и добавлять товар в корзину из списка товаров. Если атрибутов много, то их можно выводить в всплывающем (модальном окне).

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

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

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Пишу свою компоненту. Решил идти методом аналогии, разбираю в отладчике работу компоненты "Категории" и переношу код в свою компоненту.

При создании/редактировании категории открывается форма administrator\components\com_categories\views\category\tmpl\edit.php

Чтобы подключить к стандартным кнопкам редактирования события в Joomla используется такой код

Код
JFactory::getDocument()->addScriptDeclaration('
Joomla.submitbutton = function(task)
{
if (task == "category.cancel" || document.formvalidator.isValid(document.getElementById("item-form")))
{
jQuery("#permissions-sliders select").attr("disabled", "disabled");
' . $this->form->getField("description")->save(). '
Joomla.submitform(task, document.getElementById("item-form"));

if (task !== "category.apply")
{
window.parent.jQuery("#categoryEdit' . $this->item->id . 'Modal").modal("hide");
}
}
};
');


Разъясните пожалуйста новичку следующее:

$this->form->getField("description")->save()

при чём здесь метод save к полю description? ведь save прописана в models?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Этот код не имеет ничего общего с методом save() в модели, он всего лишь выводит следующий JS-код:
Код: javascript
if (имя_текстового_редактора.get("jform_description").isHidden()) {имя_текстового_редактора.get("jform_description").show()}; имя_текстового_редактора.get("jform_description").save();
, который вызывает метод save() в скрипте текстового редактора.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
понял - спасибо
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
И всё таки как Joomla попадает в save? Всё та же запись категории из админки.

В administrator\components\com_categories\models\category.php поставил точку останова в начале функции save

Стек вызова в отладчике

save    FILE: administrator\components\com_categories\models\category.php    LINE: 478
save    FILE: libraries\legacy\controller\form.php    LINE: 735
execute    FILE: libraries\legacy\controller\legacy.php    LINE: 702
MAIN    FILE: W:administrator\components\com_categories\categories.php    LINE: 27
executeComponent    libraries\cms\component\helper.php    LINE: 405
renderComponent    libraries\cms\component\helper.php    LINE: 380
dispatch    FILE: libraries\cms\application\administrator.php    LINE: 98
doExecute    FILE: libraries\cms\application\administrator.php    LINE: 152
execute    FILE: libraries\cms\application\cms.php    LINE: 261
MAIN    FILE: administrator\index.php    LINE: 51

Получается что сразу после строки

$controller = JControllerLegacy::getInstance('Categories');

в точке входа в компоненту administrator\components\com_categories\categories.php

вызывается save из administrator\components\com_categories\models\category.php

КАК?
« Последнее редактирование: 26.12.2016, 13:13:44 от OnePrg »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Метод save контроллера вызывает метод save модели. Что вас так удивляет? Если вы отладчиком войдете в метод execute то увидете что никакой особой магии там нету.
интернет-блог: http://websiteprog.ru
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Метод save контроллера вызывает метод save модели. Что вас так удивляет? Если вы отладчиком войдете в метод execute то увидете что никакой особой магии там нету.

Меня удивляет, то что до метода execute не доходит

$controller = JControllerLegacy::getInstance('Categories'); - ПРИ ВЫПОЛНЕНИИ ВОТ ЭТОЙ СТРОКИ Я ПОПАДАЮ В ТОЧКУ ОСТАНОВА В SAVE
$controller->execute($input->get('task'));


А вот когда стою на строке

$controller->execute($input->get('task'));

и нажимаю F11 (использую для отладки CodeLobster), то попадаю в libraries\legacy\controller\legacy.php      function redirect()

, а как мне попасть в саму execute?



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



Не нахожу в administrator\components\com_categories\controllers\category.php метод save
« Последнее редактирование: 26.12.2016, 15:40:15 от OnePrg »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Меня удивляет, то что до метода execute не доходит
А меня удивляет, как вы решили написать компонент, будучи таким неподготовленным.
$controller = JControllerLegacy::getInstance('Categories'); - ПРИ ВЫПОЛНЕНИИ ВОТ ЭТОЙ СТРОКИ Я ПОПАДАЮ В ТОЧКУ ОСТАНОВА В SAVE
Не нахожу в administrator\components\com_categories\controllers\category.php метод save
- Вы подключаете один контроллер, а пытаетесь искать что-то в другом.
- Наследуемый класс может использовать public и protected методы родителей.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
благодарю!

пошёл готовиться :)
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Братья и сестры!

Ну подскажите мне, пожалуйста, направьте на путь истинный советом или ссылкой на мануальчик

Пытаюсь писать свой компонент. Делаю по аналогии с компонентом com_categories

Сейчас нужно добавить в админке запись в таблицу, так же как добавляются категории. И вот я в своём компоненте открываю форму добавления записи



Если я не заполнил поле и нажимаю кнопку "Сохранить", выдаёт сообщение, что поле не заполнено



Если поля заполнил и нажимаю кнопку "Сохранить", то ничего не происходит вообще, даже в браузере ничего не крутиться




В той же компоненте com_categories при нажатии на такую кнопку я хоть попадаю в отладчик, а здесь при нажатии даже в administrator\index.php не заходит.

Код кнопки в com_categories:



код кнопки в моей компоненте


*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Есть ли ошибки JS в консоли? Покажите весь код формы. Скорее всего не хватает hidden полей, типа task или option, ну или id формы неверный.

Мануальчики здесь.
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Есть ли ошибки JS в консоли? Покажите весь код формы. Скорее всего не хватает hidden полей, типа task или option, ну или id формы неверный.

Мануальчики здесь.

За мануальчик весьма благодарю.

Пока решил всё сделать заново, если опять не получится отпишусь.
« Последнее редактирование: 28.12.2016, 22:34:06 от OnePrg »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 6 -подключение Joomla.asset.jso в плагине, как?

Автор x1

Ответов: 3
Просмотров: 3988
Последний ответ 16.02.2026, 14:28:29
от sergeytolkachyov
Как поставить более старое раширение в Joomla 4.8.4?

Автор alexs64

Ответов: 4
Просмотров: 4491
Последний ответ 29.10.2025, 15:45:42
от web1
Компонент Search в Joomla 5

Автор hensler

Ответов: 4
Просмотров: 5478
Последний ответ 28.03.2025, 17:27:24
от azm1n
addScript (в админке) к пути файла js добавляет /administrator/. Зачем?

Автор kkmspb

Ответов: 0
Просмотров: 2805
Последний ответ 02.09.2024, 14:42:25
от kkmspb
Не могу разобраться как в админке заставить работать свой плагин

Автор kkmspb

Ответов: 3
Просмотров: 4305
Последний ответ 02.09.2024, 11:35:25
от kkmspb