Новости Joomla

WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты

WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты

👩‍💻 WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты.v.2.1.0. Что нового?Сохранение последнего вида карты. Добавлены новые опции, позволяющие как для одного экземпляра модуля, так и для всех сохранять на устройстве пользователя последний использованный центр (координаты) и масштаб (zoom) карты. Это позволит открыть карту в том же месте после обновления страницы или при повторном открытии браузера.Определение местоположения пользователя.Модуль может определять местоположение пользователя и центрировать карту на нём. При одновременном использовании с функцией сохранения последнего вида карты определение геопозиции будет срабатывать только в первый раз. В дальнейшем, если обнаружены сохранённые данные центра и масштаба - будут использоваться они.CSS классы для маркеров карты.Всем маркерам карты добавлен CSS-класс wt-yandex-map-items-marker. Для просмотренных маркеров (по которым кликали) добавляется CSS-класс wt-yandex-map-items-marker-viewed, что позволит выделять просмотренные маркеры с помощью стилей в CSS-файлах вашего шаблона. Также для контейнеров маркеров ymaps на карте добавлены data-атрибуты: data-module-id - id модуля и data-marker-id - id маркера.Обработка GET-параметров в URL.Карта может реагировать на GET-параметры в url:- map[zoom] - устанавливает параметр масштаба.- map[center_latitude] и map[center_longitude] - широта и долгота центра карты.- map[marker_id] - id маркера, на котором центрируется карта.Таким образом вы можете создавать ссылку на карту с указанием конкретного маркера, на котором карта сфокусируется после загрузки маркеров. Например, https://site .ru/map?map[marker_id]=18465. Или же ссылку с указанием конкретных координат: https://site .ru/map?map[zoom]=16&map[center_latitude]=51.529706&map[center_longitude]=46.033922Страница расширенияGitHub расширенияВидео-обзор на YoutubeВидео-обзор на VK ВидеоВидео-обзор на Rutube@joomlafeed#joomla #yandex

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

fbr

  • Завсегдатай
  • 1672
  • 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

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

sivers

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

fbr

  • Завсегдатай
  • 1672
  • 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

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

sivers

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

fbr

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

sivers

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

fbr

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

fbr

  • Завсегдатай
  • 1672
  • 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
Просмотров: 476
Последний ответ 27.06.2021, 18:33:45
от arrrows163
Как сделать автодобавление модуля?

Автор Kropov

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

Автор Serebro2009

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

Автор AlekVolsk

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

Автор AlekVolsk

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