Приветсвую всех!) Вы можете подсказать как использовать Contextual Range Filter. Я его включил, создал контекстный фильтр, на странице настроек поставил галочку напротив ранее созданного фильтра, а вот как передать ему занчения диапазона? Написано, что можно через url, но я не могу понять как в представлении преобразовать url к нужному виду, чтобы можно было автоматом подхватить значения из него.
У меня есть раскрытая форма фильтрации. Один из пунктов фильтрации позволяет указать диапазон для числового поля. Когда я нажимаю кнопку поиск, то методом get передаются все параметры необходимые, но не в том виде, в котором нужно(arg1--arg2), а через знак &. Я могу их получить без проблем, но как передать эти значения в Contextual Range Filter, я не могу понять. Подскажите пожалуйста
Views Contextual Range Filters
Главные вкладки
Лучший ответ
Решил вопрос сам. Использовал Specify validation criteria в контекстных фильтрах, подраздел код php.
<?php
$url = $_SERVER['REQUEST_URI'];
if($url != '/catalogos'){
$count = substr_count($url,'field_ploshad_value');
if($count != 0){
$po = strpos($url,'field_ploshad_value');
$url = substr_replace($url,'',0,$po);
$po = strpos($url,'&');
$url1 = substr($url,0,$po);
$url = substr_replace($url,'',0,$po+1);
$po = strpos($url1,'=');
$min1 = substr($url1,$po+1);
$po = strpos($url,'=');
$max1 = substr($url,$po+1);
$handler->argument = $min1."--".$max1;
return true;
}
else{
$handler->argument = 'all';
return true;
}
}else{
$handler->argument = 'all';
return true;
}
?>
Может кому нибудь пригодится
Комментарии
Решил вопрос сам. Использовал Specify validation criteria в контекстных фильтрах, подраздел код php.
<?php
$url = $_SERVER['REQUEST_URI'];
if($url != '/catalogos'){
$count = substr_count($url,'field_ploshad_value');
if($count != 0){
$po = strpos($url,'field_ploshad_value');
$url = substr_replace($url,'',0,$po);
$po = strpos($url,'&');
$url1 = substr($url,0,$po);
$url = substr_replace($url,'',0,$po+1);
$po = strpos($url1,'=');
$min1 = substr($url1,$po+1);
$po = strpos($url,'=');
$max1 = substr($url,$po+1);
$handler->argument = $min1."--".$max1;
return true;
}
else{
$handler->argument = 'all';
return true;
}
}else{
$handler->argument = 'all';
return true;
}
?>
Может кому нибудь пригодится