Snippety a prechod z 0.9 na 2.0
- pogo
- Člen | 29
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
Ř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)