Предупредить посетителя, что материалы отфильтрованы

Больше
5 года 5 мес. назад - 5 года 5 мес. назад #8136 от Женя Чугаев
Подскажите, каким образом я могу отследить, применен ли на странице фильтр? Мне это нужно, чтобы сформировать сообщение на странице о том, что материалы отфильтрованы. Сейчас это возможно только непосредственно после фильтрации, поскольку передаются параметры запросом, однако если покинуть страницу, а потом на нее вернуться, запросы отследить уже нельзя, а материалы остаются отфильтрованными, и пользователь видит не все материалы, а сообщения, что они отфильтрованы, не видит.

Пока на ум приходит только js скриптом пробежаться по всем полям и проверить, установлен ли хоть один чекбокс и совпадают ли значения min-max диапазонов со значениями from-to. Но это костыль. Как вообще фильтр запоминает, какие значения установлены? Где хранится эта информация?
Последнее редактирование: 5 года 5 мес. назад пользователем Женя Чугаев.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 5 мес. назад #8137 от JoomLine
Данные о фильтрации хранятся в сессии, если конкретно в userState
Спасибо сказали: Женя Чугаев

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 5 мес. назад - 5 года 5 мес. назад #8139 от Женя Чугаев
Не получается извлечь данные о фильтрации.

$session = JFactory::getSession();
$state = $session->get('userState');
print_r($state);

Приведенный код ничего не выводит, переменная $state пуста. Подскажите пожалуйста, как извлечь данные о фильтрации?
Последнее редактирование: 5 года 5 мес. назад пользователем Женя Чугаев.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 5 мес. назад - 5 года 5 мес. назад #8140 от Женя Чугаев
Пытался отследить состояние переменной $jlContentFieldsFilter, в которую записываются все установленные фильтры. Но так как у меня в фильтре используются, диапазоны, то даже после сброса параметров значение is_filter все равно равняется 1! Получается, отследить, использован ли на странице фильтр, если в нем есть хотя бы один диапазон, нельзя, система думает, что фильтр установлен.

Array (
[3] => Array ( [from] => 2100 [to] => 9000 )
[9] => Array ( [from] => 20000 [to] => 85000 )
[is_filter] => 1
)
Последнее редактирование: 5 года 5 мес. назад пользователем Женя Чугаев.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 5 мес. назад #8142 от JoomLine
Попробуйте тут github.com/Joomline/JlContentFieldsFilte...ieldsfilter.php#L125

вставить то что вам требуется: что то типа $app->enqueueMessage()

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум

Последнее с форума

    • slowly swung open
    • One day, a curious boy named Sam moved into the house with his family. As he explored the property, he noticed a rusty, old key lying under a bush. Sam picked it up, wondering what it might unlock....
    • в Component / Afisha Joomla
    • One day, a curious boy named
    • One day, a curious boy named Sam moved into the house with his family. As he explored the property, he noticed a rusty, old key lying under a bush. Sam picked it up, wondering what it might unlock....
    • в Component / JL TV
    • top business directory
    • One day, a monkey drove his car near a lake. Sudden, he saw a tiger under a tree. The tiger saw him, too. The tiger ran very fast at the monkey. The monkey was very afraid and he and his car fell...
    • в Component / Afisha Joomla
© 2010- JoomLine
The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries. joomline.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.

email: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.