Paginator neudrží url a přepíše ho na presenter
- KillPrd
- Začátečník | 110
Ahojte mů problém je že mám klasickou url www.neco.cz/…m-sveta.html je to v presenteru kategorie a
jakmile na teto adrese použiju paginator přepíše stránku na www.neco.cz/kategorie/?…
jak ho donutit aby udělal zachoval url a za ní přidal proměnnou vp-page?
děkuji za rady
- KillPrd
- Začátečník | 110
No tohle jsem zkoušel problémem je že všechny routy přebije ta
posledni
tedy tato
<?php
$frontRouter[] = new NRoute('<presenter>/<action>[/<url>]', 'Default:default');
?>
pokud odstraním tuto routu napíše že nemá routu pro .....
pro jistotu posílám celý bootsramp
<?php
/**
* My Application bootstrap file.
*/
// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
// Configure application
$configurator = new NConfigurator;
$configurator->setProductionMode(FALSE);
// Enable Nette Debugger for error visualisation & logging
/*$configurator->setProductionMode($configurator::AUTO);*/
$configurator->enableDebugger(dirname(__FILE__) . '/../log');
// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(dirname(__FILE__) . '/../temp');
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(dirname(__FILE__) . '/config.neon');
$container = $configurator->createContainer();
$filters = new Filters($container);
dibi::connect($container->params['database']);
$url = $_SERVER['REQUEST_URI'];
$url=explode("/",$url);
$url = $url[1];
$url=explode("?",$url);
$url = $url[0];
$k = dibi::fetchSingle("SELECT count(id) FROM [kategorie] WHERE url = %s",$url);
$p = dibi::fetchSingle("SELECT count(id) FROM [polozky] WHERE url = %s",$url);
$c = dibi::fetchSingle("SELECT count(id) FROM [clanky] WHERE url = %s",$url);
// Setup router
$container->router[] = new NRoute('index.php', 'Front:Default:default', NRoute::ONE_WAY);
$container->router[] = $adminRouter = new NRouteList('Admin');
$adminRouter[] = new NRoute('admin/<presenter>/<action>', 'Default:default');
$container->router[] = $frontRouter = new NRouteList('Front');
$frontRouter[] = new NRoute('sitemap/sitemap.xml', 'Sitemap:default');
$frontRouter[] = new NRoute('zbozi/zbozi.xml', 'Zbozi:default');
$frontRouter[] = new NRoute('zbozi/heureka.xml', 'Zbozi:heureka');
$frontRouter[] = new NRoute('/login.html', 'Default:login');
$frontRouter[] = new NRoute('/registrace.html', 'Default:registrace');
if($k>0){
$katRouter = new KategorieRoute('<url>?strana=<vp-page>', array(
'id' =>array(
NRoute::FILTER_OUT => callback($filters, 'out_k'),
),
'presenter' => 'Kategorie',
'action' => 'default'
));
}
if($p>0){
$pRouter = new PolozkyRoute('<url>?strana=<vp-page>', array(
'id' =>array(
NRoute::FILTER_OUT => callback($filters, 'out_p'),
),
'presenter' => 'Detail',
'action' => 'default'
));
}
if($c>0){
$cRouter = new ClankyRoute('<url>?strana=<vp-page>', array(
'id' =>array(
NRoute::FILTER_OUT => callback($filters, 'out_c'),
),
'presenter' => 'Clanek',
'action' => 'default'
));
}
if($k>0){
$katRouter->context = $container;
$frontRouter[] = $katRouter;
}
if($p>0){
$pRouter->context = $container;
$frontRouter[] = $pRouter;
}
if($c>0){
$cRouter->context = $container;
$frontRouter[] = $cRouter;
}
$frontRouter[] = new NRoute('<presenter>/<action>[/<url>]', 'Default:default');
// Configure and run the application!
$container->application->run();
?>
Snažil jsme se odkaz tvořit ručně tedy
<a href=„?vp-page={$paginator->page + 1}“>Další »</a>
ale nastavá problém protože mám na jedné stráne 3 pagiantory a
potřebují se identifikovat v proměnné tedy vp1-page=2 vp2-page=
2 atd…
a takhle když vypisuji ručně tak je to pouze vp-page=2
stačilo by protlačit do paginatoru proměnnou s číslem paginatoru