Новости Joomla

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

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 расширенияСкачать#joomla #расширения

Вышел релиз Joomla 5.3.2

Релиз исправлений ошибок Joomla 5.3.2

Проект Joomla рад сообщить о выпуске Joomla 5.3.2. Это релиз исправлений ошибок для серии Joomla 5.3.

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

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
На разных страницах есть несколько модулей одного типа с разными настройками, условно
модуль_1
модуль_2
модуль_3
...

Баг:

модуль_3 отправляет сообщение, которое содержит значение параметра $params->get('static_text') из модуль_1!
если снять с публикации модуль_1, то текст будет из модуль_2
если снять с публикации модуль_2 - будет правильное значение параметра из модуль_3

Подробнее о модуле
---------------------------
Самописный модуль. Достаточно сложный.

Одна из функций модуля - отправка сообщения клиенту
Сообщение содержит статическую часть, которая  заполняется в админке в поле типа editor
Сообщение клиенту формирует методом getMessage (в helper.php)
Метод вызывается в getAjax, где другой метод отправляет сообщение

упрощенно выглядит так
Код
static function getMessage( $params, $idplan, $firstName )
{
//some code
$block_Mail = $params->get('static_text');
//some code

return $postData; // stdClass
}

public static function getAjax()
{

//some code

$postData = self::getMessage( $params, $idplan, $firstName )
$client_message = $postData->clientMessage;

//some code

$success_client = self::MailSender( $params, $client_subject, $client_message, $recipient );

//some code

}
В чем может быть причина?
Буду благодарен за любые соображения

ps. Если в макете вывести
Код
echo $params->get('static_text');
выводит правильное значение
« Последнее редактирование: 17.04.2021, 19:51:17 от fbr »
*

v42bis

  • Захожу иногда
  • 133
  • 13 / 1
У себя решал передачей id модуля через POST, потом  получал параметры модуля по его id.
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
А диагноз?
В чем причина?
Как чужие параметры попадают в модуль?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
В чем может быть причина?
причина в методе getAjax.
Если посмотреть что у него внутри, то видно, что он читает из базы первый модуль данного типа и берет его параметры, потом вызывает helper модуля.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Что здесь можно сделать?
Код
public static function getAjax()
{
jimport('joomla.application.module.helper');
$input  = JFactory::getApplication()->input;
$module = JModuleHelper::getModule('mod_clubs');
$params = new JRegistry();
$params->loadString($module->params);
$inputs = $input->get('data', array(), 'ARRAY');

//...
}
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Можно попробовать так:
Код
$module = JModuleHelper::getModuleById('module_ID');
как получить внутри getAjax id текущего модуля?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
как получить внутри getAjax id текущего модуля?
ИД надо передавать в ajax-запросе.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Т.е. создавать скрытое поле input, присваивать ему id-модуля, и вытаскивать внутри getAjax из $input?
Так?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Спасибо)
Завтра попробую, отпишусь
*

fbr

  • Завсегдатай
  • 1664
  • 206 / 7
Все работает
Спасибо всем за помощь ))

Итоговый код (упрощенный)
Код
public static function getAjax()
{
jimport('joomla.application.module.helper');
$input = JFactory::getApplication()->input;
$inputs = $input->get('data', array(), 'ARRAY');

foreach ($inputs as $input) {
// ...
if( $input['name'] == 'modclub_id'$modclub_id = $input['value']; // module id
}

$module = JModuleHelper::getModuleById($modclub_id);
$params = new JRegistry();
$params->loadString($module->params);

// ...
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Using $this when not in object context при создании модуля

Автор arrrows163

Ответов: 0
Просмотров: 459
Последний ответ 27.06.2021, 18:33:45
от arrrows163
Как сделать автодобавление модуля?

Автор Kropov

Ответов: 4
Просмотров: 1112
Последний ответ 29.06.2015, 14:38:24
от Kropov
Запрос к БД модуля Joomla

Автор Serebro2009

Ответов: 3
Просмотров: 1311
Последний ответ 27.05.2015, 14:01:28
от b2z
Узнать из фрейма url, где фрейм выводится

Автор AlekVolsk

Ответов: 32
Просмотров: 3341
Последний ответ 02.03.2015, 23:13:40
от AlekVolsk
Получение результата работы AJAX в модуле

Автор AlekVolsk

Ответов: 9
Просмотров: 2153
Последний ответ 17.11.2014, 00:03:50
от AlekVolsk