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

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

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

Please Log in to join the conversation.

More
5 years 7 months ago #8137 by JoomLine
Данные о фильтрации хранятся в сессии, если конкретно в userState
The following user(s) said Thank You: Женя Чугаев

Please Log in to join the conversation.

More
5 years 7 months ago - 5 years 7 months ago #8139 by Женя Чугаев
Не получается извлечь данные о фильтрации.

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

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

Please Log in to join the conversation.

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

Array (
[3] => Array ( [from] => 2100 [to] => 9000 )
[9] => Array ( [from] => 20000 [to] => 85000 )
[is_filter] => 1
)
Last edit: 5 years 7 months ago by Женя Чугаев.

Please Log in to join the conversation.

More
5 years 7 months ago #8142 by JoomLine
Попробуйте тут github.com/Joomline/JlContentFieldsFilte...ieldsfilter.php#L125

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

Please Log in to join the conversation.

Powered by Kunena Forum

Last from the forum

    • Карта сайта для компонента JoomMedia
    • Здравствуйте. Уже 2 года не могу создать карту сайта для компонента JoomMedia, который покупал: 1. В компоненте JSitemap нет такого источника данных, а сам не могу создать SQL запрос карты сайта для JoomMedia 2. В компоненте JL Sitemap нет плагина JoomMedia. Сможете помочь по любому из 2-х пунктов, могу оплатит расходы, компонент JoomMedia находится по ссылке drive.google.com/file/d/1xg4oQzcmYhJ1NGP...sw2/view?usp=sharing Компонент в работе: 4in.ru/sport.html  
    • In Component / JL Sitemap
    • чет не работает
    • You may have heard about the for a while now, but you still don't dare to visit them. It is time for you to lose your fear of these prostitute websites. Take your mobile phone, and visit it now. The escorts are local prostitutes you can access for a minimum amount.
    • In Component / Yandex Market XML
© 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: This email address is being protected from spambots. You need JavaScript enabled to view it.