- Сообщений: 3
- Спасибо получено: 0
Предупредить посетителя, что материалы отфильтрованы
- Не в сети
- New Member
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
6 года 10 мес. назад - 6 года 10 мес. назад #8136
от
создал тему: Предупредить посетителя, что материалы отфильтрованы
Подскажите, каким образом я могу отследить, применен ли на странице фильтр? Мне это нужно, чтобы сформировать сообщение на странице о том, что материалы отфильтрованы. Сейчас это возможно только непосредственно после фильтрации, поскольку передаются параметры запросом, однако если покинуть страницу, а потом на нее вернуться, запросы отследить уже нельзя, а материалы остаются отфильтрованными, и пользователь видит не все материалы, а сообщения, что они отфильтрованы, не видит.
Пока на ум приходит только js скриптом пробежаться по всем полям и проверить, установлен ли хоть один чекбокс и совпадают ли значения min-max диапазонов со значениями from-to. Но это костыль. Как вообще фильтр запоминает, какие значения установлены? Где хранится эта информация?
Пока на ум приходит только js скриптом пробежаться по всем полям и проверить, установлен ли хоть один чекбокс и совпадают ли значения min-max диапазонов со значениями from-to. Но это костыль. Как вообще фильтр запоминает, какие значения установлены? Где хранится эта информация?
Последнее редактирование: 6 года 10 мес. назад пользователем .
Пожалуйста Войти , чтобы присоединиться к беседе.
- Не в сети
- Администратор
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
- Сообщений: 2227
- Спасибо получено: 188
6 года 10 мес. назад #8137
от
ответил в теме Предупредить посетителя, что материалы отфильтрованы
Данные о фильтрации хранятся в сессии, если конкретно в userState
Спасибо сказали:
Пожалуйста Войти , чтобы присоединиться к беседе.
- Не в сети
- New Member
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
- Сообщений: 3
- Спасибо получено: 0
6 года 10 мес. назад - 6 года 10 мес. назад #8139
от
ответил в теме Предупредить посетителя, что материалы отфильтрованы
Не получается извлечь данные о фильтрации.
$session = JFactory::getSession();
$state = $session->get('userState');
print_r($state);
Приведенный код ничего не выводит, переменная $state пуста. Подскажите пожалуйста, как извлечь данные о фильтрации?
$session = JFactory::getSession();
$state = $session->get('userState');
print_r($state);
Приведенный код ничего не выводит, переменная $state пуста. Подскажите пожалуйста, как извлечь данные о фильтрации?
Последнее редактирование: 6 года 10 мес. назад пользователем .
Пожалуйста Войти , чтобы присоединиться к беседе.
- Не в сети
- New Member
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
- Сообщений: 3
- Спасибо получено: 0
6 года 10 мес. назад - 6 года 10 мес. назад #8140
от
ответил в теме Предупредить посетителя, что материалы отфильтрованы
Пытался отследить состояние переменной $jlContentFieldsFilter, в которую записываются все установленные фильтры. Но так как у меня в фильтре используются, диапазоны, то даже после сброса параметров значение is_filter все равно равняется 1! Получается, отследить, использован ли на странице фильтр, если в нем есть хотя бы один диапазон, нельзя, система думает, что фильтр установлен.
Array (
[3] => Array ( [from] => 2100 [to] => 9000 )
[9] => Array ( [from] => 20000 [to] => 85000 )
[is_filter] => 1
)
Array (
[3] => Array ( [from] => 2100 [to] => 9000 )
[9] => Array ( [from] => 20000 [to] => 85000 )
[is_filter] => 1
)
Последнее редактирование: 6 года 10 мес. назад пользователем .
Пожалуйста Войти , чтобы присоединиться к беседе.
- Не в сети
- Администратор
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
- Сообщений: 2227
- Спасибо получено: 188
6 года 10 мес. назад #8142
от
ответил в теме Предупредить посетителя, что материалы отфильтрованы
Попробуйте тут
github.com/Joomline/JlContentFieldsFilte...ieldsfilter.php#L125
вставить то что вам требуется: что то типа $app->enqueueMessage()
вставить то что вам требуется: что то типа $app->enqueueMessage()
Пожалуйста Войти , чтобы присоединиться к беседе.
Время создания страницы: 0.176 секунд