Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

like-nix

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте.

Хочу сделать расширение для Joomla “последние новости”, примерно как на этом сайте http://bl.nashaliga.ru/

Но хочется чтобы это в панели администратора смотрелось как управление новостями, а ни как плагин что-то вроде easyslideshow который подключается через “Модуль «HTML-код»” так:

Код
{besps}slideshow_images|width=1000|height=640{/besps}
 {besps_l}0|1_resize.jpg|линк на материал|Краткое описание новости|_self{/besps_l}
{besps_c}0|1_resize.jpg||Подпись под картинкой{/besps_c}
{besps_l}0|2_resize.jpg|линк на материал|Краткое описание новости|_self{/besps_l}
{besps_c}0|2_resize.jpg||Подпись под картинкой{/besps_c}

т.е. в идеале это должен быть компонент, в котором пользователь управляет новостями или может быть модуль который можно будет подключить через менеджер модулей и там уже в настройках управлять новостями.

Но если это будет компонент, тогда мне нужно чтобы этот компонент загружался на странице где загружается com_content, и подключался по позиции как модуль.

Я пока не пробовал ничего реализовывать. Для начала решил проконсультироваться как такое правильнее реализовать с точки зрения идеологии Joomla.

Спасибо.
« Последнее редактирование: 26.08.2015, 12:19:53 от like-nix »
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Re: Как правильно сделать расширение?
« Ответ #1 : 26.08.2015, 12:44:49 »
1 вариант, использовать готовый компонент, их много. Например этот http://demo.joomlaworks.net/
2 вариант, перепилить стандартный модуль материалы-новости, на его базе сделать свой, добавить настройки
*

like-nix

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как правильно сделать расширение?
« Ответ #2 : 26.08.2015, 13:07:49 »
1 вариант, использовать готовый компонент, их много. Например этот http://demo.joomlaworks.net/
2 вариант, перепилить стандартный модуль материалы-новости, на его базе сделать свой, добавить настройки

1. А подключать готовый компонент через iframe? Чтобы он работал вместь с com_content.

2. Не знаю как это правильно сделать. Хочется чтобы была форма редактирования новости. Т оесть при работе с компонентом можно отобразить список новостей и сделать реализацию редактирования каждой новости. То есть все действия выполняются в одном компоненте и редактирование новости в том числе. Хочется именно этого.
*

like-nix

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как правильно сделать расширение?
« Ответ #3 : 26.08.2015, 13:14:41 »
Еще проблема в том что как то к материалу нужно будет прилепить картинку. Можно конечно и каким нибудь хаком, т.е. и картинка и краткое содержание новости и текст новости будет все в одном материале. Но тогда создание самой новости будет доступно только пользователю знающему HTML.

Пока писал это понял как это сделать )

Можно сделать компонент который будет только работать в бэкенде и делать новости и записывать их базу. И сделать отдельный модуль который будет из от туда брать. Не нужно делать 2 в 1 а нужно будет сделать 1 в 2 ). Вроде норм идея да?
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Как правильно сделать расширение?
« Ответ #4 : 26.08.2015, 16:45:45 »
Не нужно делать 2 в 1 а нужно будет сделать 1 в 2 ). Вроде норм идея да?
Ну, если вы это понимаете, то флаг вам в руки.

А вообще алгоритм работы можно посмотреть у других, таких расширений много, fbr правильно сказал. Хотя, если только начинаете учиться программировать, то можно начать и с этого - написать модуль показа новостей и компонент, позволяющий эти новости добавлять в базу.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Как правильно сделать расширение?
« Ответ #5 : 26.08.2015, 17:28:27 »
Еще проблема в том что как то к материалу нужно будет прилепить картинку. Можно конечно и каким нибудь хаком, т.е. и картинка и краткое содержание новости и текст новости будет все в одном материале. Но тогда создание самой новости будет доступно только пользователю знающему HTML.

Пока писал это понял как это сделать )

Можно сделать компонент который будет только работать в бэкенде и делать новости и записывать их базу. И сделать отдельный модуль который будет из от туда брать. Не нужно делать 2 в 1 а нужно будет сделать 1 в 2 ). Вроде норм идея да?
Что-то вы велосипед изобретаете, ваш компонент уже есть, называется com_content, и модулей для него предостаточно.
*

like-nix

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как правильно сделать расширение?
« Ответ #6 : 26.08.2015, 17:56:58 »
Ну, если вы это понимаете, то флаг вам в руки.

А вообще алгоритм работы можно посмотреть у других, таких расширений много, fbr правильно сказал. Хотя, если только начинаете учиться программировать, то можно начать и с этого - написать модуль показа новостей и компонент, позволяющий эти новости добавлять в базу.

 
Что-то вы велосипед изобретаете, ваш компонент уже есть, называется com_content, и модулей для него предостаточно.
Что-то вы велосипед изобретаете, ваш компонент уже есть, называется com_content, и модулей для него предостаточно.
[/quote]

Извиняюсь если я не достаточно ясно выразился. Но мне нужно сделать расшрение похожее по внешнему виду и по алгоритму работы на то как реализованы последние новости на сайте http://bl.nashaliga.ru/

Не понимаю как это сделать с помощью только одного компонента. Так как я уже писал что этот (если это будет компонент) поместить на страницу с компонентом com_content.

По моему сделать отдельный компонент для панели администрирования который будет управлять новостями (добавлять удалять изменять и возможно искать) и отдельный модуль, который будет эти новости отображать в публичной части сайта созданные в компоненте новости.

Думаю такие ответы у Вас возникли потому что никто не зашел на указанный мной сайт, ну если это не так извините. Тогда объясните как это сделать правильнее.

Я как уже писал хочу сделать чтобы было удобно работать с новостями, а не заморачиваться с тем чтобы пользователь вникал в особенности HTML при работе с новостями. он должен нажать кнопку выбрать картинку ввести текст для подписи под картинкой текст превью новости и полный текст новости.

Вот как то так.
*

like-nix

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Как правильно сделать расширение?
« Ответ #7 : 26.08.2015, 17:58:52 »
Что-то вы велосипед изобретаете, ваш компонент уже есть, называется com_content, и модулей для него предостаточно.

Может быть и изобретаю) Я честно недавно только начал изучать как работает Joomla. Поэтому может быть. Но я не знаю что быстрее изучить  как работает com_content чтобы реализовать поставленную задачу или сделать все с нуля. Кстати я подумал что мне всеравно нужно делать какую то панель управления новостями. Такое требование. Так что я думаю всеравно придется делать компонент.
« Последнее редактирование: 26.08.2015, 18:04:25 от like-nix »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Как правильно сделать расширение?
« Ответ #8 : 27.08.2015, 05:47:09 »
Посмотрел вашу ссылку. Вам надо делать макет к модулю новостей com_content. Все остальное уже сделано. Картинки в материалах выбираются, визуальный редактор есть. Новостной модуль есть. Единственно чего нет - макета, который будет работать как на вашем примере. Опытному разработчику работать несколько часов.
Ну а если делать компонент, модуль, опять-же тот-же самый макет к этому модулю, опытный разработчик потратит несколько дней. Ну а сколько вам времени понадобится вычислите, поняв свою компетенцию, я ее не знаю, по этому предполагать не буду.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать модуль на полный экран? Подробнее в в теме?

Автор 62411

Ответов: 3
Просмотров: 1486
Последний ответ 23.02.2022, 20:35:06
от marksetter
Сделать аналог

Автор pegas-k1

Ответов: 8
Просмотров: 1770
Последний ответ 02.02.2021, 13:56:21
от **vadim**
Как сделать рабочим {loadposition} или jdoc:include в com_content?

Автор Amigo9876

Ответов: 5
Просмотров: 2170
Последний ответ 31.07.2020, 16:49:37
от tigra-uki
Необходимо расширение (модуль) для карточки товара: обзор 360

Автор Yarilo88

Ответов: 25
Просмотров: 1901
Последний ответ 27.03.2019, 14:51:48
от effrit
Как сделать счета накладные или только заказ в пдф?

Автор master-dors

Ответов: 0
Просмотров: 1335
Последний ответ 06.04.2018, 18:33:36
от master-dors