<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Nette Framework forum</title>
<link>http://forum.nettephp.com/cs</link>
<description> Nette Framework forum</description>
<language>cs</language>
<docs>http://backend.userland.com/rss</docs>
<item>
	<title>Chybička v Session (Nette Framework / Hlášení chyb)</title>
	<author>Mas3r</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3594#p3594</link>
	<guid isPermaLink="false">3594@http://forum.nettephp.com/cs</guid>
	<description>Tohle mi háže, když dám se poprvé dostanu na stránku
s přihlášením, po refreshi je to OK

Notice: Undefined index: COUNTER in C:\Program Files\VertrigoServ\www\cms\libs\Nette\Web\Session.php on line 116</description>
	<pubDate>Sun, 07 Sep 2008 09:21:48 -0600</pubDate>
</item>
<item>
	<title>n Module @layout (Nette Framework / Hlášení chyb)</title>
	<author>LM</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3593#p3593</link>
	<guid isPermaLink="false">3593@http://forum.nettephp.com/cs</guid>
	<description>http://forum.nettephp.com/…iewtopic.php?…</description>
	<pubDate>Fri, 05 Sep 2008 12:02:17 -0600</pubDate>
</item>
<item>
	<title>Hledám spolupracovníka pro psaní dokumentace (Nette Framework / Oznámení)</title>
	<author>enoice</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3592#p3592</link>
	<guid isPermaLink="false">3592@http://forum.nettephp.com/cs</guid>
	<description>Já bych si nějaké téma vzal…?</description>
	<pubDate>Fri, 05 Sep 2008 09:20:34 -0600</pubDate>
</item>
<item>
	<title>Hledám spolupracovníka pro psaní dokumentace (Nette Framework / Oznámení)</title>
	<author>David Grudl</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3591#p3591</link>
	<guid isPermaLink="false">3591@http://forum.nettephp.com/cs</guid>
	<description>Dokumentace
se začíná pomalu rodit a docela by se mi hodila pomoc. Hledám dobrovolníka,
který by popsal některé ze známějších součástí, jako Nette::Forms,
Nette::Web::Htt­pRequest, Nette::Web::Htt­pResponse nebo Instalace, …

Text je tvořen v Texy syntaxi, asi v takovéto
podobě. Měl by být rozdělen do menších kapitol a začínat obecným
úvodem a postupně se dostávat až k podrobnostem, jako tomu je třeba v dokumentaci Zendu. Zatím je potřeba celý popis psát jako
jednu dlouhou stránku, rozdělení pak provedu podle nadpisů
s úrovní ====.

Od této chvíle máte zcela volný přístup do wiki systému. Věřím, že
se to osvědčí.

Díky!</description>
	<pubDate>Fri, 05 Sep 2008 08:01:19 -0600</pubDate>
</item>
<item>
	<title>n Module @layout (Nette Framework / Hlášení chyb)</title>
	<author>carnaby</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3590#p3590</link>
	<guid isPermaLink="false">3590@http://forum.nettephp.com/cs</guid>
	<description>zdravim,

neviem ci je to zamer alebo nie no pri vnoreni viacero modulov sa layout
hlada len v aktualnom module a ak sa nenajde pouzije sa default layout. Myslim
ze aj tu by bolo dobre obecne spravit kaskadove nacitanie aj pri
niekolkonasobnom vnoreni modulov.

terajsi stav hladania layoutu
.../app/templates/PrvyModule/DruhyModule/List/@layout.phtml
.../app/templates/PrvyModule/DruhyModule/List.@layout.phtml
.../app/templates/PrvyModule/DruhyModule/@layout.phtml
.../app/templates/@layout.phtml

este mi tam chyba
.../app/templates/PrvyModule/@layout.phtml

neni to nic zavazne bo sa to da riesit prepisanim fn.
formatLayoutTem­plateFiles v Presenter

nejak takto :

protected static function formatLayoutTemplateFiles($presenter, $layout)
{
        $root = Environment::getVariable('templatesDir');
        $presenter = str_replace(':', 'Module/', $presenter);
        $module = substr($presenter, 0, (int) strrpos($presenter, '/'));
        if ($root === Environment::getVariable('presentersDir')) {
                $presenter = substr_replace($presenter, '/templates/', strrpos($presenter, '/'), 0);
                $module = substr_replace($module, '/templates/', strrpos($module, '/'), 0);
        }
        $paths=array(
                "$root/$presenter/@$layout.phtml",
                "$root/$presenter.@$layout.phtml",
        );
        $modules=explode("/",$module);
        while (count($modules)&gt;0)
        {
                $mx=implode("/",$modules);
                $paths[]="$root/$mx/@$layout.phtml";
                array_pop($modules);
        }
        $paths[]="$root/@$layout.phtml";
        return $paths;
}</description>
	<pubDate>Fri, 05 Sep 2008 07:35:03 -0600</pubDate>
</item>
<item>
	<title>Vlastní vykreslování formulářů (Nette Framework / Obecná diskuse)</title>
	<author>David Grudl</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3589#p3589</link>
	<guid isPermaLink="false">3589@http://forum.nettephp.com/cs</guid>
	<description>Ještě jednu poznámku ke grupám:

Na úrovni formuláře je možné prvky sdružovat do skupin. Těmto
skupinám lze také nastavovat libovolné uživatelské informace pomocí
$group-&gt;setOption(klic, hodnota) (totéž platí pro jednotlivé
prvky). Data lze pak využít v rendereru. Samotný ConventionalRen­derer
některým z nich rozumí. Skupině je možno nastavit:

$group-&gt;setOption('container', $el); // Html element, kterým se skupina orámuje (standardně &lt;fieldset&gt;)
$group-&gt;setOption('embedNext', TRUE); // další skupinu v řadě se při vykreslování vloží dovnitř této

Nejspíš znáte tento letitý příklad na Nette::Forms. Díky skupinám je možné jeho
vykreslování zcela zautomatizovat.

Nejprve připomenu jeho stávající definici:

$form = new Form();
$form-&gt;addText('name', 'Your name:', 35);
$form-&gt;addText('age', 'Your age:', 5);
$form-&gt;addRadioList('gender', 'Your gender:', $sex);
$form-&gt;addText('email', 'E-Mail:', 35)-&gt;emptyValue = '@';

$form-&gt;addCheckbox('send', 'Ship to address');
$form-&gt;addText('street', 'Street:', 35);
$form-&gt;addText('city', 'City:', 35);
$form-&gt;addSelect('country', 'Country:', $countries)-&gt;skipFirst();

$form-&gt;addPassword('password', 'Choose password:', 20);
$form-&gt;addPassword('password2', 'Reenter password:', 20);
$form-&gt;addFile('avatar', 'Picture:');
$form-&gt;addHidden('userid');
$form-&gt;addTextArea('note', 'Comment:', 30, 5);

$form-&gt;addSubmit('submit1', 'Send');
// + nějaká validační pravidla

Teď jeho definici rozšířím o použití skupin:

$form = new Form();
$form-&gt;addGroup('Personal data');
$form-&gt;addText('name', 'Your name:', 35);
$form-&gt;addText('age', 'Your age:', 5);
$form-&gt;addRadioList('gender', 'Your gender:', $sex);
$form-&gt;addText('email', 'E-Mail:', 35)-&gt;emptyValue = '@';

$form-&gt;addGroup('Shipping address')
        -&gt;setOption('embedNext', TRUE); // následující skupina se vykreslí uvnitř této
$form-&gt;addCheckbox('send', 'Ship to address');

$form-&gt;addGroup()
        -&gt;setOption('container', /*Nette::Web::*/Html::el('div')-&gt;id('sendBox')); // změníme kontejner na div #sendBox
$form-&gt;addText('street', 'Street:', 35);
$form-&gt;addText('city', 'City:', 35);
$form-&gt;addSelect('country', 'Country:', $countries)-&gt;skipFirst();

$form-&gt;addGroup('Your account');
$form-&gt;addPassword('password', 'Choose password:', 20);
$form-&gt;addPassword('password2', 'Reenter password:', 20);
$form-&gt;addFile('avatar', 'Picture:');
$form-&gt;addHidden('userid');
$form-&gt;addTextArea('note', 'Comment:', 30, 5);

$form-&gt;addGroup();
$form-&gt;addSubmit('submit1', 'Send');

Teď už jej stačí vypsat pomocí:

echo $form;</description>
	<pubDate>Thu, 04 Sep 2008 18:03:50 -0600</pubDate>
</item>
<item>
	<title>Vlastní vykreslování formulářů (Nette Framework / Obecná diskuse)</title>
	<author>David Grudl</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3588#p3588</link>
	<guid isPermaLink="false">3588@http://forum.nettephp.com/cs</guid>
	<description>Jak jsem avizoval už dříve, vykreslování formulářů se přesunulo do
samostatné třídy. Tu spojuje s formulářem jediná metoda
IFormRenderer::render($form), tudíž dřívější metody
vykreslující určité části komentářů jsou zapovězené (nicméně
nějakou dobu ještě budou funkční).

Update je v podstatě velmi prostý:


	$form-&gt;renderForm() → $form-&gt;render() nebo
	echo $form

	$form-&gt;renderBegin() →
	$form-&gt;render('begin')

	$form-&gt;renderEnd() →
	$form-&gt;render('end')

	$form-&gt;renderErrors() →
	$form-&gt;render('errors')

	$form-&gt;renderBody() →
	$form-&gt;render('body')


Celý proces vykreslování má na starosti objekt implementující
Nette::Forms::IFormRenderer. Nastavíme jej přes
$form-&gt;setRenderer($myRenderer) a získáme přes
$form-&gt;getRenderer(). Jako výchozí vykreslovač se používá
objekt třídy ConventionalRenderer, který generuje stejný
výstup jako dřívější verze formulářů a obstarává kompatibilní
volání jako $form-&gt;render('begin') atd. Nově umožňuje
změnit obalovací elementy:

// předpokládá se, že $renderer je instance ConventionalRenderer
$renderer = $form-&gt;getRenderer();
// budeme generovat formulář jako definiční seznam
$renderer-&gt;wrappers['control']['container'] = 'dl';
$renderer-&gt;wrappers['control']['pair'] = NULL;
$renderer-&gt;wrappers['control']['control'] = 'dd';
$renderer-&gt;wrappers['control']['label'] = 'dt';

ConventionalRen­derer nenabízí mnoho způsobů, jak ovlivnit vzhled
formuláře. Je tu sice stále možnost napsat si speciální renderer pro
speciální typy formulářů, ale raději jsem chtěl vymyslet nějaký
výborně konfigurovatelný renderer. A především snadno a přehledně
konfigurovatelný, aby se člověk nemusel učit další syntaxi, kde složitě
napíše to, co by v HTML vyjádřil několika značkami. Nakonec mě
napadlo vskutku geniální řešení, které jsem přetavil do třídy
StylesheetRenderer.

Jakmile jsem měl hotovo, došlo mi, že jsem „objevil“ XSL transformace :-) Což vedlo k myšlenkám, jestli teda
nepoužít rovnou XSLT, nebo jen připodobnit syntax, nebo co s tím… Zatím
váhám, takže StylesheetRenderer najdete až v dalších revizích.
Každopádně poté bude možné pouhým nastavením jednoho řetězce
nakonfigurovat vykreslování dokonale :-)</description>
	<pubDate>Thu, 04 Sep 2008 15:55:26 -0600</pubDate>
</item>
<item>
	<title>Úprava vykreslování Nette::Forms (Nette Framework / Obecná diskuse)</title>
	<author>enoice</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3587#p3587</link>
	<guid isPermaLink="false">3587@http://forum.nettephp.com/cs</guid>
	<description>Ano, ano, to formulářům chybělo :) díky</description>
	<pubDate>Thu, 04 Sep 2008 13:04:56 -0600</pubDate>
</item>
<item>
	<title>Úprava vykreslování Nette::Forms (Nette Framework / Obecná diskuse)</title>
	<author>David Grudl</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3585#p3585</link>
	<guid isPermaLink="false">3585@http://forum.nettephp.com/cs</guid>
	<description>Vykreslovací rutiny jsou nyní umístěné v samostatné třídě, která
se dá nastavit přes `$form-&gt;setRenderer($my­Renderer)</description>
	<pubDate>Thu, 04 Sep 2008 12:49:22 -0600</pubDate>
</item>
<item>
	<title>TemplateFilters::CurlyBrackets – ‚tagy‘ pro AjaxLink (Nette Framework / Feature Requests)</title>
	<author>tark</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3584#p3584</link>
	<guid isPermaLink="false">3584@http://forum.nettephp.com/cs</guid>
	<description>Díky za radu, ale i tak na to kašlu. GetText je sice úžasně
inteligentní záležitost, bohužel je zprasená, je to škoda. Navíc vzhledem
k mým jazykovým schopnostem je trošku problémové vyvíjet aplikaci
v AJ :(

Nicméně tuhle debatu bych ukončil, už jsme hodně OT, pisateli tohoto
tématu by se to asi moc nelíbilo :-)</description>
	<pubDate>Mon, 01 Sep 2008 12:47:49 -0600</pubDate>
</item>
<item>
	<title>TemplateFilters::CurlyBrackets – ‚tagy‘ pro AjaxLink (Nette Framework / Feature Requests)</title>
	<author>hrach</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3583#p3583</link>
	<guid isPermaLink="false">3583@http://forum.nettephp.com/cs</guid>
	<description>OT: A obávám se, že na ten poEdit kašlu, protože mě začíná
	neuvěřitelně sr… štvát. Nejsem schopný ho donutit k tomu, aby mi
	proskenoval adresář s projektem, vždycky vyhodí nějakou chybu.


S tím jsem se dost dlouho štval pro vlastní projekt. http://hrach.netuje.cz/…ext-a-haefko</description>
	<pubDate>Mon, 01 Sep 2008 10:01:17 -0600</pubDate>
</item>
<item>
	<title>TemplateFilters::CurlyBrackets – ‚tagy‘ pro AjaxLink (Nette Framework / Feature Requests)</title>
	<author>tark</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3582#p3582</link>
	<guid isPermaLink="false">3582@http://forum.nettephp.com/cs</guid>
	<description>Změna…

{tr "string"} -&gt; OK, dá se namapovat na callback pomocí TemplateFilters::$curlyXlatMask
{tr string} -&gt; chyba
{tr "string" "string"} -&gt; chyba

Takže já jsem schopný si to vyřešit nějakým oddělovačem uvnitř
stringu… Nebo chystáš něco jiného? Uznávám, třetí možnost by byla
mnohem lepší.

OT: A obávám se, že na ten poEdit kašlu, protože mě začíná
neuvěřitelně sr… štvát. Nejsem schopný ho donutit k tomu, aby mi
proskenoval adresář s projektem, vždycky vyhodí nějakou chybu.</description>
	<pubDate>Mon, 01 Sep 2008 08:28:39 -0600</pubDate>
</item>
<item>
	<title>TemplateFilters::CurlyBrackets – ‚tagy‘ pro AjaxLink (Nette Framework / Feature Requests)</title>
	<author>tark</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3581#p3581</link>
	<guid isPermaLink="false">3581@http://forum.nettephp.com/cs</guid>
	<description>Přidávám se k opravě této chyby… Chtěl bych si tak vyřešit
překlad v šablonách (ale nejsem si jistý, jestli to pak najde
poEdit…) :(</description>
	<pubDate>Mon, 01 Sep 2008 06:32:33 -0600</pubDate>
</item>
<item>
	<title>Redirect s parametry presenteru (Nette Framework / Obecná diskuse)</title>
	<author>phx</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3580#p3580</link>
	<guid isPermaLink="false">3580@http://forum.nettephp.com/cs</guid>
	<description>Pokud jsou dane parametry nezbytne pro cely presenter ci jejich hiearchii
staci je oznacit za persistentni a o predani se postara samo Nette. Potom je je
spise nutne nullovat kdyz se namaji predat (nastavit na default hodnoty)</description>
	<pubDate>Sat, 30 Aug 2008 08:37:44 -0600</pubDate>
</item>
<item>
	<title>Redirect s parametry presenteru (Nette Framework / Obecná diskuse)</title>
	<author>MartinJanda</author>
	<link>http://forum.nettephp.com/cs/viewtopic.php?pid=3579#p3579</link>
	<guid isPermaLink="false">3579@http://forum.nettephp.com/cs</guid>
	<description>Jinak to tuším nejde.</description>
	<pubDate>Fri, 29 Aug 2008 11:41:33 -0600</pubDate>
</item>
</channel>
</rss>
