Filtrovanie obsahu cez URL
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Michal6677
- Člen | 1
Zdravim som zaciatocnik v nette aj v routovani URL adries. Uz dlhsiu dobu
sa snazim vytvorit routy pre filtrovanie zobrazovaneho obsahu.
Moja routa napr: www.stranka.sk/cestovanie:
<?php
$filterRoute = array(
'presenter' => 'List',
'action' => 'default',
'filter' => array(
Route::FILTER_IN => callback($container->dealFilter, 'filterIn'),
Route::FILTER_OUT => callback($container->dealFilter, 'filterOut'),
),
);
$frontRouter[] = new Route('[<lang [a-z]{2}>/]<filter>', $filterRoute);
?>
<?php
function filterIn($input) {
$categoryDao = $this->dealDao->related('categories');
$category = $categoryDao->findBy(array('slug' => $input));
$this->setCategories($category);
$category = current($this->getCategories());
$url = '';
if (!empty($category))
$url = $category->getSlug();
else
$url= '';
return $url;
}
function filterOut($input) {
$category = current($this->getCategories());
$url = '';
if (!empty($category))
$url = $category->getSlug();
else
$url= '';
return $url;
}
?>
filter bude napr. nejaka kategoria (neskor bude viac filtrov). V podstate to aj ide len ako zabranit aby sa tam zobrazovali GET parametre pri kliku na signal? Aby v url za <filter> castou uz nic nebolo?