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

Sportacus

  • Новичок
  • 2
  • 0 / 0
как сделать пункт меню, который бы ссылался на последнюю опубликованную статью в категории?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Делаете пункт меню на блог категории, а там одну статью только выводите...
Создание сайтов, шаблонов, помощь в решении проблем.
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
не ну как вариант что бы пункт меню ссылался на конкретную статью
а уже ее макет вывода переопределить и средствами php выводить в ней последнюю статью

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

так что ничего невозможного нет

так же как вариант вывести блог категорию, но в настройках только 1 статью
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Делаете пункт меню на блог категории, а там одну статью только выводите...
обогнал)
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
да почему никак?
вполне можно. либо с блогом, как подсказали, либо статью выводим модулем, а компонент скрываем через условие в шаблоне.
ну или на пустую статью сослаться можно.
*

Sportacus

  • Новичок
  • 2
  • 0 / 0
Делаете пункт меню на блог категории, а там одну статью только выводите...

Спасибо!
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Человеку надо ссылаться на статью, в индекс там её, URL для неё и через создание пункта меню.
Это - никак.
Можно меню переопределить, можно извернуться и подменить содержимое по URL.. можно много чего..
Но конкретно это - никак  *ОХ-Х-Х*
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Человеку надо ссылаться на статью, в индекс там её, URL для неё и через создание пункта меню.
Тогда просто в область меню модуль вписать с одной ссылкой последнего материала.

Создание сайтов, шаблонов, помощь в решении проблем.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
voland, ТС ничего про индекс не писал, так что нефиг. а от индексации этот пункт вообще надо скрыть, чтобы дублей не было, если URL статичный.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
voland, ТС ничего про индекс не писал, так что нефиг. а от индексации этот пункт вообще надо скрыть, чтобы дублей не было, если URL статичный.

Не писал потому что не знает что это  ;D
Вот придет через 2 месяца и станет жаловаться - а чой эта у меня статьи в индекс не попадают
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Можно сделать одни системным плагином, причем довольно простым.
Примерно так.

Если с добавлением  "типа пункта меню"
Добавляем "тип пункта меню"
1. В пакете создаем файл XML переопределения для com_content view=article. Назвовем его lastarticle.xml
2. При установке закидываем этот файл в /components/com_content/views/article/tmpl

Дальше сразу 3 варианта на выбор.
Первый:
В lastarticle.xml в request делаем поля
Код
<field type="hidden" name="id" default="-1"/>
<field type="hidden" name="show_last_article_url" default="true"/>

В плагине в событии onAfterRender
1. Получаем ссылку ссылку
Код
Route::_('index.php?option=com_content&view=article&id=-1&show_last_article_url=true&layout=lastarticle');
2. Проверяем body на наличие через регулярку.
3. Если есть совпадения, делаем запрос в БД, чтобы получить данные последнего материала для генерации новой ссылки.
4. Заменяем ссылки.


Второй и третий вариант.
В lastarticle.xml в request делаем поля
Код
<field type="hidden" name="id" default="1"/>
<field type="hidden" name="show_last_article_url" default="true"/>
В плагине в событии onAfterRoute (МБ могут быть проблемы с тем что id=1 не существует, но можно решить сделав просто поле с одним итемом)
Проверяем option view и show_last_article_url
Если все подходит, то делаем запрос в БД и получаем данные необходимые для генерации новой ссылки.
Ну а дальше в зависимости от индексации уже либо просто заменяем id либо делаем редирект.


Если же без добавления "типа пункта меню"
Можно просто вставлять во внешний URL index.php?option=showlast&view=article Ну а потом так же несколько вариантов.
 

В принципе ничего сложного. Вопрос только в том, а так ли это нужно в меню.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 627
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1062
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1178
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 6903
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS
Как сделать картинку ссылкой на материал без Вводного изображения?

Автор OZlaim

Ответов: 0
Просмотров: 822
Последний ответ 30.05.2024, 01:28:37
от OZlaim