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

mirstiker

  • Захожу иногда
  • 66
  • 0 / 0
Ребят, как правильно написать запрос AJAX ?
Пишу запрос к модулю следующим образом, но получаю ответ от сервера Restricted access.

Код
jQuery(".btn"). click (function () {

var urli = '<?php echo JUri::base();?>/modules/mod_form/tmpl/default.php';
jQuery('#products').load (urli,  function () {


jQuery('#myModal').modal('show');
return false;
 
*

sivers

  • Живу я здесь
  • 2589
  • 359 / 0
при перехоже в браузере по этой ссылке:
<?php echo JUri::base();?>/modules/mod_form/tmpl/default.php

что вы видите?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

mirstiker

  • Захожу иногда
  • 66
  • 0 / 0
при перехоже в браузере по этой ссылке:
<?php echo JUri::base();?>/modules/mod_form/tmpl/default.php

что вы видите?
« Последнее редактирование: 27.04.2020, 10:47:02 от mirstiker »
*

sivers

  • Живу я здесь
  • 2589
  • 359 / 0
Потому что в самом верху файла default.php у вас стоит блокировка прямого доступа такого плана:
Код
defined('_JEXEC') or die('Restricted access');
Соответственно, для реализации аякс-запроса сперва добейтесь правильного ответа сервера по ссылке.

Можете попробовать метод Joomla для вызова модулей/плагинов аяксом. Ссылка там должна быть примерно такой:
/index.php?option=com_ajax&module=form

Загляните в файл:
/components/com_ajax/ajax.php
чтоб лучше понимать как оно реализовано
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
*

mirstiker

  • Захожу иногда
  • 66
  • 0 / 0
https://cmscafe.ru/docs/joomla/developer/module-joomla-2-5-joomla-3/616-ajax-funktsionalnost-s-pomoshchyu-ajax-interfejsa-com-ajax пример, как это правильно реализовать

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

Например, мне нужно в модуле A отобразить часть кода HTML из модуля b при помощи функции load () 
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
мне нужно в модуле A отобразить часть кода HTML из модуля b при помощи функции load ()
Для этого нужно чтобы модуль был на странице.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Я не уверен, но вроде бы Joomla позволяет смотреть модули по прямой ссылке. Соответственно, вам ни что не мешает, выводить ваш модуль внутри обычного iframe.
*

sivers

  • Живу я здесь
  • 2589
  • 359 / 0
Я не уверен, но вроде бы Joomla позволяет смотреть модули по прямой ссылке.
Верно. И выше я уже привел пример как это сделать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А не проще использовать нативные функции jQuery для подобного и не морочить голову

Код
$(document).on('submit', '.formname', function(){
    var thisform = $(this);
    var form_data = thisform.serialize();
    $.ajax({
            type: 'POST',
            url: 'myscript.php',
            target: '',
            data: form_data,
            cache: false,
            success: function(response){
                console.log(response);
            }
        });
    return false;
    });
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А не проще использовать нативные функции jQuery для подобного и не морочить голову
Так он jQuery и использовал. И никакой формы он не отправлял, просто хотел AJAX'ом подгружать модуль. AJAX отработал нормально, только модуль отдал Restricted access, потому что напрямую нельзя было к нему обращаться.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
AJAX отработал нормально, только модуль отдал Restricted access, потому что напрямую нельзя было к нему обращаться.

ааа, виноват, видимо пропустил эту часть в диалоге. Так то да, не получится.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 821
Последний ответ 13.01.2023, 15:05:52
от Divn
При срабатывании ajax появляетсся div id="system-message-container"

Автор androv77

Ответов: 1
Просмотров: 757
Последний ответ 17.11.2022, 11:50:42
от androv77
[Решено] Отключить Mootols, Jquery и Bootstrap в Joomla 3

Автор Pazys

Ответов: 126
Просмотров: 99227
Последний ответ 21.10.2022, 22:25:23
от Alex Kop
Привязка материала к метке через запрос к БД

Автор sk8work

Ответов: 4
Просмотров: 832
Последний ответ 14.10.2022, 13:24:55
от sk8work
Цикличный SQL запрос, высокая нагрузка на mysqld

Автор tweenpix

Ответов: 4
Просмотров: 815
Последний ответ 19.07.2022, 15:34:47
от tweenpix