n:snippet ignoruje atributy

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

Při použití

<div n:snippet="dialog" class="dialog">

dostanu snippet–dialog obsahující pouze vnitřek divu.

Nette 2.0.6, PHP 5.3

Filip Procházka
Moderator | 4668
+
0
-

Chceš snippetem měnit atributy toho snippetu?

{snippet dialog}
<div class="dialog">...</div>
{/snippet}

Možná by mohlo fungovat i

<div n:outer-snippet="dialog" class="dialog">

ale to je jen výstřel naslepo :)

David Grudl
Nette Core | 8228
+
0
-

Je to kvůli nestandardnosti vlastnosti outerHTML. Dnes už ji sice Firefox umí, ale kvůli kompatibilitě snippet pracuje (narozdíl od jiných n:atributů) s vnitřkem.

ic
Člen | 430
+
0
-

V FF to dříve taky nějak šlo, přes jejich https://developer.mozilla.org/…MLSerializer . Případně vždy jde zkopírovat větev, vložit ji na konec body a pak ji načíst přes body.lastChild.innerHTML a zase smazat.
Jsou to všechno ale docela šílené postupy.

sharkcz
Člen | 28
+
0
-

Ve verzi 2.0-dev makro fungovalo tak, že vyjmulo celý div.
Jak to souvisí s outerHTML? Makro je přeci zpracováváno PHPčkem. V AJAXové odpovědi dříve chodil snippet včetně divu, nyní pouze jeho obsah.