Sitemap vygenerovaný z routeru?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Martk
- Člen | 661
Pokud bys je generoval přes StaticRouter, tak bys mohl použít asi toto:
interface IStaticPagesProvider {
/** @return array */
public function getStaticPages();
}
class Router implements IRouter, IStaticPagesProvider {
public function getStaticPages() {
return [
'Sign:up' => 'registrace',
'Sign:in' => 'prihlaseni',
];
}
public function createRouter() {
$router = new RouteList();
$router[] = new StaticRouter($this->getStaticPages());
}
}
a v sitemap:
class Sitemap {
private $staticProvider;
private $linkGenerator;
public function __construct(LinkGenerator $linkGenerator, IStaticPagesProvider $staticProvider) {
// assign to properties
}
public function generate() {
foreach (array_keys($this->staticProvider->getStaticPages()) as $path) {
$link = $this->linkGenerator->link($path);
}
}
}
Editoval Antik (10. 9. 2016 9:51)