Vykreslení flash zprávy po zpracování

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

Nejsem si úplně jistý, jestli tomu dostatečně rozumím. Rád bych docílil toho, aby se mi po zpracování požadavku pomocí ajaxu zobrazila flash zpráva. Zde je můj kód:

V šabloně:

<div class="scroll">
    {snippetArea productListing}
	<div n:foreach="$flashes as $flash" class="flash {$flash->type}">
		{$flash->message}
		<span class="close">x</span>
	</div>
	<div id="sortable" class="navigation-container list">
		<div n:foreach="$products as $product" id="items_{$product->id}" class="item">
			<a n:href="edit, id => $product->id">
				<h2>{$product->name}</h2>
			</a>
			<div class="right">
				<a n:href="delete!, id => $product->id" class="delete delete-confirm" data-question="Are you sure?">Delete</a>
			</div>
		</div><!--item-->
	</div><!--navigation-container-->
	{/snippetArea}
</div><!--scroll-->

Pozn: použl jsem snippetArea, protože samotné makro snippet kolidovalo se styly. :-(

V presenteru:

public function handleSort()
{
    $data = $this->getHttpRequest()->getPost();

    try {
        $this->productFacade->sort($data);
        $this->flashMessage('OK.');

    } catch (\PDOException $e) {
        Debugger::barDump($e->getMessage());
        Debugger::log($e->getMessage(), Debugger::ERROR);

        $this->flashMessage('An error occurred.');
    }

    $this->redrawControl('productListing');
}

Metoda sort() volaná hned na začátku bloku try jen přeuloží záznamy v DB s novým pořadím.

Problém je, že se prostě nezobrazí ta flash zpráva. Když provedu refresh stránky, tak je vidět, že sortování funguje, ale nevím, jestli se mi stránka skutečně pomocí ajaxu překresluje.

David Matějka
Moderator | 6445
+
0
-

snippetArea neni urceno pro prekreslovani. Je to pomocne makro, pokud chces invalidovat napr. snippety v inkludovanych sablonach.

pouzij {snippet}, respektive n:snippet, aby ti to nekolidovalo se styly, tedy

<div class="scroll" n:snippet="productListing">