Includnuta sablona s modalnym oknom sa neprekresluje

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

Ahojte,

Pracujem na svojom projekte a mam problem s vnorenym snippetom, teda aby som to rozpisal trosku viac funkcia redraw control nespravi nic. V tomto momente riesim validaciu formularu.

kod vypada priblizne takto

*@layout.latte *

{include _header.latte}
{include #content}
{snippetArea userModalArea}
  {include _userModal.latte}
{/snippetArea}
{include _footer.latte}

_userModal.latte

			<div class="modalbox width700 featherlight-inner no-padding">
				<h2>My profile</h2>
				{snippet userDataFormSnip}
				{form userDataForm class => 'ajax'}
					<div id="imageuploader" class="right">
						<div class="middle">
							<img src="{$basePath}/images/photo-icon.png" alt="" />
							<div>Browse photo</div>
						</div>
					</div>
					<div class="wrap settings">
						<div class="title">Meno</div>
						<span class="error" n:ifcontent>{inputError firstname}</span>
						{input firstname}
						<div class="title">Priezvisko</div>
						<span class="error" n:ifcontent>{inputError lastname}</span>
						{input lastname}
						{input image, id => 'file', class => 'hidden'}
					</div>
					<div class="footer">
						<div class="wrap">
							<button type="submit" class="button buttonleft online-tournaments button-thin">Save data</button>
						</div>
					</div>
				{/form}
				{/snippet}
			</div>

V casti userModal je viac modalnych okien, jedna sa o to ze mi to neprekresli content ale ked spravim to ze vykopirujem obsah _userModal.latte a vlozim ho do @layout.latte tak vtedy mi vsetko funguje, pri formular evente onError som skusal aj napisat presne ktore ma prekreslit ako napr.

public function userDataFormError($form)
{
    if($this->isAjax()){
        $this->redrawControl('userModalArea');
        $this->redrawControl('userDataFormSnip');
    } else {
        $this->redirect('this');
    }
}

Nestretol sa niekdo prosim s podobnym problemom ? stalo sa mi to na viacerych projektoch a vzdy som to musel riesit tak ze som zobral content z includovanej sablony a vlozil do @layout.latte
a nepride mi to ako ciste riesenie.

Editoval johnnie (21. 9. 2015 9:00)

David Matějka
Moderator | 6445
+
0
-

Myslim, ze jsou snippety case sensitive a v sablone mas UserModalArea a invalidujes pak userModalArea (male vs velke u na zacatku)

johnnie
Člen | 54
+
0
-

Chybu som nasiel a odstranil som jednalo sa naozaj o bug ze som snippetArea volal v html tagoch, doteraz nechapem ako zatmenie mozgu som mal vtedy ked som to pisal ale predsalen by som mal este otazku ako riesite ajax v 2× includnutej sablone teda ako priklad

@layout.latte

{include modals.latte}

modals.latte

{include userModal.latte}

userModal.latte

tato sablona by obsahovala nejaky formular

Islo by to tak ze stale obalujem do snippetArea akurat v userModal.latte bude samotny snippet ?

Editoval johnnie (21. 9. 2015 11:35)