добавка города в сессию и фильтр тв

Вопрос комплексный, не могу справиться
Ситуация такая: мы определяем город при помощи sypexgeo, все отлично определяется и выводится на странице
но теперь нужно записать этот город в сессию с последеющей возможностью изменения пользователем

а далее фильтрация контента на странице по TV параметру, а точнее в TV множественный список допустим из
Москва||Петербург||Новосибирск||Все
задача вывести на странице контент с совпадающим городом в сессии и параметром в ТВ, либо если в параметре TV указан Все то выводить также…
возможно это как сделать? бюсь бьюсь да чтото не выходит :(

использую плагин на OnwebPageInit tv id — 2
if(!$_SESSION['loc']){
include($modx->config['base_path']."geo/SxGeo.php");
$SxGeo = new SxGeo($modx->config['base_path'].'geo/SxGeoCity.dat', SXGEO_BATCH | SXGEO_MEMORY);
$ob = array_flip(explode("||",$modx->getObject('modTemplateVar',array('id'=>'2'))->_fields['elements']));
if(in_array($city['city'], $ob)){
$_SESSION['loc'] = $city['city'];
}else{
$_SESSION['loc'] = 'Все';
}
}

фильтр следующий
[[!getResources?
&showHidden=`1`
&tpl=`one_quarter`
&sortby=`publishedon`
&limit=`8`
&includeContent=`1`
&includeTVs=`1`
&processTVs=`1`
&parents=`31`
&tvFilters=`geo==[[!SessionCity]]`
]]

сниппет SessionCity
if(!$_SESSION['loc']){
$loc   =  'Все';
}else{
$loc   =  $_SESSION['loc'];
}
return $loc;

в чем моя ошибка? как сделать правильно или может быть есть способ оптимальнее?
Евгений
18 марта 2013, 10:29
modx.pro
1 076
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0