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

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

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

Please Log in or Create an account to join the conversation.

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

Please Log in or Create an account to join the conversation.

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

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

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

Please Log in or Create an account to join the conversation.

More
7 months 6 days ago - 7 months 6 days 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: 7 months 6 days ago by Женя Чугаев.

Please Log in or Create an account to join the conversation.

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

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

Please Log in or Create an account to join the conversation.

Powered by Kunena Forum

Last from the forum

    • Авторизация без регистрации
    • Здравствуйте! Как можно отключить (временно) регистрацию пользователей на сайте, при этом оставив авторизацию? В настройках Джумлы возможность регистрации отключил, но все равно, пользователи регистрируются.
    • In Component / Slogin
    • Multi-language
    • To whom it may concern: I uploaded JLSitemap extension for my joomla 4alpha12 based site, it is fixed for English and Russian Language. So easily you may extend this remarkable extension to any language as for my site French language . In models/sitemap.php line:No 470 I added $lang = Factory::getLanguage(); $l = $lang->getTag(); if(pregmatch('/fr-FR/'), $l) $defaultLanguage =ComponentHelper::getParams('com_language')->get('site', 'fr-FR'); else if(pregmatch('/en-GB/'), $l) $defaultLanguage =ComponentHelper::getParams('com_language')->get('site', 'en-GB'); else ... //any language your developers would like to add or all in a switch case. Then in layout so easily based on the language tag or code you may print only links belong to related active language I used a layout override so that in the next update of your extension changes remain . Thanks again and good luck K W Nowrouzian Senior Manager https://kwproductions121.com
    • In Component / JL Sitemap
© 2010-2020 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.