Přesměrovaná www v {block content}
- chikeet
- Člen | 160
Chceš na tu stránku přesměrovat, nebo jen u sebe na webu zobrazit její obsah?
Pokud chceš přesměrovat, tak redirect, ale určitě ne v šabloně, protože už na začátku renderování šablony se posílá výstup a s tím už nepřesměruješ. Takže redirect v action metodě presenteru (viz životní cyklus presenteru ).
Pokud chceš zobrazit obsah, tak nejlíp asi v render metodě presenteru – předat si do šablony obsah stránky, který chceš zobrazit, a pak ho v šabloně vložit do stránky.
Nějak takhle:
Presenter:
public function renderSomething(){
// ...
$rawContent = file_get_contents('http://www.example.com');
// ... zpracování surového obsahu na to, co chceš skutečně zobrazit
$this->template->foreignPageContent = $rawContent;
// ...
}
Šablona:
{$foreignPageContent|noescape}
Filtr noescape je záhodno používat, pokud proměnná obsahuje HTML a chceš, aby se zobrazilo stejně jako na té stránce, kterou taháš odjinud. Bez něj se obsah proměnné vyescapuje a zobrazí se ti surový HTML kód té stránky (viz výchozí latte filtry ).
Edit: nepsala jsem to, protože mi to přišlo samozřejmé, ale podle tvého popisu u sebe na webu nemáš dostupné styly, které patří k té stránce, a vkládáš tam celou stránku včetně tagů html, head a body. Nejjednodušší řešení v tvém případě bude vložit tu stránku do iframe. Tohle už ale není ani tak o Nette, jako spíš o základech HTML, takže doporučuju nastudovat ty.
BTW mazání příspěvků není úplně moc super, když na ně v mezičase někdo odpoví a pak ta odpověď postrádá kontext.
Editoval chikeet (12. 3. 2015 22:59)