AJAX, snippety a renderování widgetů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jakub Lédl
Člen | 55
+
0
-

Zdravím, potřeboval bych pomoc s jedním opravdu bizarním problémem – hraju si tak s Nette, zkouším jet podle quickstartu, rozjedu všechno, včetně komponent, a dostanu se až k té neexistující části o AJAXu. Po pár problémech (jiná verze jQuery atd.) se mi podaří vše rozjet. AJAXové stránkování funguje. Ten bizarní problém spočívá v tom, že widgety (@{control dg:paginator} a @{control dg:grid) se mi nečekaně renderují úplně navrchu HTML stránky, ještě před <!DOCTYPE>. Přikládám kód šablon a layoutu:

@layout.phtml

<?php
<!-- doctype -->
<html>
	<!-- hlavička -->
	<body>
		<h1>DataGrid - Nette Framework example</h1>

		{include #content}
	</body>
</html>
?>

templates/table/default.phtml

<?php
{block #content}

<h2>Tabulka "{$table}"</h2>

<p><a href="{plink Default:}">Zpět</a></p>

@{control dg:paginator}

@{control dg:grid}
?>

Používám Nette 0.9.2, revize b9fd602, PHP 5.3.0, Zend Engine 2.3.0, na Mac OS X 10.6.

Ještě mě tak napadá, asi není úplně košer, že na PHP 5.3 používám Nette pro PHP 5.2, že? Nevím, jaký je plný rozsah uvedení jmenných prostorů do PHP 5.3, ale mám jistotu, že drtivá většina mých projektů se nebude dělit o diskový prostor s jinými frameworky,jako člověku přirozeně línemu se mi nechtělo otravovat se s use ..., a zatím se zdálo, že vše běží v pohodě.

Ondřej Mirtes
Člen | 1536
+
0
-

Na používání verze pro PHP 5.2 na 5.3 není nic špatného, jen seš „ochuzen“ o namespaces. Nejčastější konflikt bývá s třídou HttpRequest, protože občas bývá na nějakém hostingu nainstalované nějaké HTTP rozšíření pro Apache, který stejnojmennou třídu používá.

A co se týče tvého AJAX problému – klasika, máš špatně zavináče.

Editoval Ondřej Mirtes (4. 1. 2010 0:16)

Jakub Lédl
Člen | 55
+
0
-

Děkuji za rychlou odpověď i v tuto pozdní hodinu :-).

To že tento problém vznikl, si vysvětluju dvěma způsoby – příloha, která je ke stažení v nedopsaném quickstartu buď počítá s jinou verzí Nette, nebo je v ní krpa :-)

lucass
Člen | 89
+
0
-

Podle mě bude problém v zavináčích. Zkus dát @ před include a block, viz https://forum.nette.org/…agie-v-praxi.

Editoval lucass (4. 1. 2010 9:36)

i.magine
Člen | 81
+
0
-

Na co máš <?php v šabloně?

redhead
Člen | 1313
+
0
-

řekl bych, že je to tím, že ho uvedl jako zvýrazňovač kódu při psaní příspěvku

Jod
Člen | 701
+
0
-

Takto to ide tiež /--code php :)