Snippety a prechod z 0.9 na 2.0

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

Zdravicko,
vo firme mame pomerne rozsiahlu aplikaciu, ktora pouziva velke mnozstvo dynamickych snippetov. Rozhodli sme sa ale prejst na verziu 2.0, kde uz dynamicke snippety uz nefunguju tak ako v predchadzajucej verzii. Mame velku tabulku s mnozstvom poloziek, ktore je mozne rozkliknut a zobrazia sa rozne detaily o polozke ulozene prave v dynamickych snippetoch typu {snippet detail-$polozka->id}. Po hodinach patrania a skusania sa nam stale nepodarilo najst riesenie. Aktualny kod vyzera nejak takto:

template:

<?php
{snippet polozkaDetail}
  {snippet detail-$polozka->id}
     {$polozka->meno}
  {/snippet}
{/snippet}
...
{foreach $polozky as $polozka}
...
{include #_polozkaDetail, 'polozka' => $polozka}
...
{/foreach}
?>

a v presenteri:

<?php
$this->template->polozka = Polozky->getPolozka(123);
//pre istotu :)
$this->template->polozky = Polozky->getPolozky();
$this->invalidateControl('polozkaDetail');
?>

Pri ajaxovom requeste vsak vracia stale prazdny response. Zaroven potrebujeme prekreslovat aj viac snippetov naraz. Ako to co najjednoduchsie vyriesit? Nemusi byt najcistejsie riesenie, hlavne aby nebolo potrebne menit obrovske mnozstvo kodu (napr. prerabat na controly). Diky!

mach2roman
Člen | 22
+
0
-

Řešíme úplně stejný problém a po dlouhém bádání jsme zůstali u verze 0.9 . Část aplikace s dynamickými snipety jsme překopaly, ale změny byly natolik drastické, že bylo neúnosné toto předělávat. Navíc na některých místech používáme např. barevné rozlišení podle vnitřních proměnných cyklů, které ovšem totálně selžou v přídě že se předají pouze ty, které jsou nutné pro invalidované dynamické. Nový přístup k dynamickým snipetům je tak diametrálně odlišná, že stávající aplikace jsou převoditelné jen s vynaložením neadekvátního úsilí.

Pokud by toto někdo dokázal nějak elegantně vyřešit, tak sem hoďte řešení. Verze 2.0 je v mnoha směrech lepší a je škoda, že nebyla zachována jak „zavináčová“ verze snipetů tak i nová (ale chápu že je to technicky asi problematické), nicméně by to pomohlo k rychlému a skoro bezproblémovému přechodu z verze 0.9 na 2.0 .

Editoval mach2roman (9. 9. 2011 22:32)

MartyIX
Člen | 217
+
0
-

Protoze mate zkusenosti s migraci, nechteli byste (treba par bodu), sepsat sem:

https://doc.nette.org/cs/updating-2-0