Načítání obsahu šablon ajaxem
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Vojtěch Dobeš
- Gold Partner | 1316
Nu, nemusí to být vůbec těžké.
- Obalit block
#content
snippetemcontent
. - Do
BasePresenter
u do metodybeforeRender()
hodit:
if ($this->isAjax()) {
$this->invalidateControl('content');
}
- Nahodit
nette.ajax.js
. - Na odkazy naházet CSS třídu
ajax
nebo, pokud chceš zajaxovat fakt komplet aplikaci, upravit si výchozí ajaxovací selektor. To ale doporučuju jen v případě, že je k dispozici History API, v opačném případě je lepší přechody mezi stránkama neajaxovat.
if ((window.history && history.pushState && window.history.replaceState && !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]|WebApps\/.+CFNetwork)/))) {
$.nette.ext('init').linkSelector = 'a';
}
- Zprovoznit
history
extenzi. - A run!
$.nette.init();
- tom
- Člen | 171
Prosímtě a titulek stránky se mění jak? Použil jsem
<?php
<title n:inner-snippet="title"> ...
a
$this->invalidateControl('title');
?>
ale nejsem si jistý odkud brát ten obsah který se bude přepisovat.
Dík
vojtech.dobes napsal(a):
Nu, nemusí to být vůbec těžké.
- Obalit block
#content
snippetemcontent
.- Do
BasePresenter
u do metodybeforeRender()
hodit:if ($this->isAjax()) { $this->invalidateControl('content'); }
- Nahodit
nette.ajax.js
.- Na odkazy naházet CSS třídu
ajax
nebo, pokud chceš zajaxovat fakt komplet aplikaci, upravit si výchozí ajaxovací selektor. To ale doporučuju jen v případě, že je k dispozici History API, v opačném případě je lepší přechody mezi stránkama neajaxovat.if ((window.history && history.pushState && window.history.replaceState && !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]|WebApps\/.+CFNetwork)/))) { $.nette.ext('init').linkSelector = 'a'; }
- Zprovoznit
history
extenzi.- A run!
$.nette.init();