Existencia prázdenho bloku – {ifset #sidebar}

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

ako zistím či blok má obsah ?
potrebujem v body upraviť class na základe toho či block #sidebar má obsah

@layout.latte

<body class="menu_hover{ifset #sidebar} block_sidebar{/ifset}">

	<!-- main content -->
            <div id="contentwrapper">
                <div class="main_content">
					{include #content}
                </div>
            </div>
	<!-- sidebar -->
           {block #sidebar}{/block}
</body>

default.latte

{block #content}
	.........
{/block}

{block #sidebar}
	<ul>
	    <li>.....
{/block}

blank.latte

{block #content}
	.........
{/block}
llsm
Člen | 121
+
0
-

Předávej to jako nějakou proměnou z presenteru šabloně.

sepo
Člen | 69
+
0
-

Iné riešenie neexistuje ?

Jan Tvrdík
Nette guru | 2595
+
0
-

@sepo: Existuje, použij {ifset #sidebar} + místo prázdného {block #sidebar}{/block} použij {ifset #sidebar}{include #sidebar}{/ifset}.

mildabre
Člen | 62
+
0
-

Styl layoutu by měl být postaven tak, aby byl nezávislý na obsahu. Takže jestliže je potřeba v layoutu měnit třídu podle toho jestli je v nějaké části webu obsah nebo ne tak to je IMHO špatná závislost. Určitě to jde postavit tak, aby takovéto závislosti nevznikaly.

sepo
Člen | 69
+
0
-

@Jan Tvrdík – vďaka funguje to OK

@mildabre – súhlas, na teraz to musím riešiť takto úprava laoytu je v pláne