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

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Привет.
Реализовал требуемый функционал на отдельной странице, "проект" со своими папками, в которых лежат изображения, файлы HTML, CSS и скрипты на javascript.
Теперь возможно это вставить в качестве модуля в Joomla? Он сможет "подхватить" все эти файлы? Что нужно изменить?
Каркас модуля и как вставлять модуль знаю. В примерах в каждую папку модуля кладут пустой файл index.html (<html><body></body></html>). Его оставлять или вместо него нужно свой index.html помещать?



*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 118 / 9
Модули выводящие отдельный материал есть, ищите на JED. А почему проект сразу не реализовывали в модуле HTML?
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Модули выводящие отдельный материал есть, ищите на JED. А почему проект сразу не реализовывали в модуле HTML?
От того что у меня нет опыта в сфере веб-программирования)
Сразу скопом со всеми технологиями разобраться намного труднее, чем постепенно от html/css к javascript и Joomla.
Может и не нужно использовать модуль, выводящий отдельный материал - может я лучше переделаю?

В чём разница между тем, что я сделал отдельной страницей и тем, чтобы это было модулем для Joomla?
От php мне нужен только каркас, остальное реализовано в js/html/css. Что нужно переделать? Переместить содержание из HTML в php файл модуля?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Во первых не понятно вам нужен модуль или компонент? (например если в том месте где у вас материалы выводятся, и вместо этого материала по определенной ссылке то вам нужен компонент)
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Во первых не понятно вам нужен модуль или компонент? (например если в том месте где у вас материалы выводятся, и вместо этого материала по определенной ссылке то вам нужен компонент)

Простая карта, вот черновой вариант http://workshop.limemod.com/uez/map/

Что мне нужно, чтобы вставить это дело на сайт на Joomla в нужное место?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Простая карта, вот черновой вариант http://workshop.limemod.com/uez/map/

Что мне нужно, чтобы вставить это дело на сайт на Joomla в нужное место?
Создать модуль произвольный HTML код, вставить его в неиспользуемую модульную позицию, в нем написать код:
Код: html4strict
<link rel = "stylesheet" href = "css/styles.css" type = "text/css">
<script type="text/javascript" src="js/building.js"></script>
<div id="map">
<div id="popupwin" class="popupwin">
<img id ="imgBuilding"><p id="textBuilding"></p></div>
</div>

если нужно карту вывести в материале пишем {loadposition позиция_модуля}
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Istaan, большое спасибо, вроде все ясно)
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Появилась проблема.

В Chrome перестало работать слайд-шоу, как раз когда я включаю свой модуль. Отключаю - всё работает.
В Opera работает и так и так.
В консоле Chrome пишет "Uncaught TypeError: Cannot call method 'getScroll' of undefined. mootools-core.js:130"
Полагаю, это из-за подключаемого скрипта-javascript в моём модуле?

Можно как-нибудь это побороть?
В своём скрипте сторонних библиотек не использую. Попробовать изменить имена ф-ий и переменных?
« Последнее редактирование: 18.11.2013, 13:39:35 от Riddik »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
ну мы не видим код так что трудно что сказать )
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Обернул весь код в анонимную ф-ии, чтобы не было конфликта:

(function(){
    /* тут весь код */
})();

Все равно не работает. Может подключаются скрипты как-то не так?
« Последнее редактирование: 18.11.2013, 15:10:29 от Riddik »
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Дело не в скрипте, а в модуле custom-html.

Убираю {loadposition позиция_модуля} из материала - все работает.
Включаю модуль - не работает. Убираю из модуля подключение скрипты и/или стилей - всё равно не работает.
*

Riddik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Проблема оказалась в конфликте имён id у HTML тегов.
« Последнее редактирование: 18.11.2013, 15:10:54 от Riddik »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Два запроса к базе данных за раз можно делать?

Автор borro

Ответов: 4
Просмотров: 1377
Последний ответ 17.10.2017, 09:30:44
от SeBun
Вывести дату завершения публикации модуля publish_down

Автор theflame

Ответов: 7
Просмотров: 4654
Последний ответ 06.10.2017, 12:46:30
от NewUsers
Как в $query->select('....') вставить сформированное в доп. функции значение?

Автор GuDeVic

Ответов: 4
Просмотров: 1154
Последний ответ 18.07.2017, 12:31:16
от GuDeVic
вывести данные из модуля с формой Subform form field type

Автор Glog

Ответов: 19
Просмотров: 2177
Последний ответ 22.06.2017, 13:32:07
от Glog
Зависимость модуля от компонента и страницы

Автор Тренд

Ответов: 34
Просмотров: 3025
Последний ответ 16.06.2017, 19:48:39
от dmitry_stas