Latte překlad boolean hodnoty

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

Dobrý den,

lze v latte přeložit boolean proměnnou na Ano/ne?

Jan Tvrdík
Nette guru | 2595
+
+6
-

Ano, napiš si na to filter.

Myiyk
Člen | 321
+
+2
-
{$bool ? 'ano' : 'ne'}

Nejjednodušší cesta

Editoval Myiyk (5. 3. 2015 0:27)

Jan Tvrdík
Nette guru | 2595
+
0
-

Nejjednodušší ano, akorát se nehodí pro opakované použití.

David Grudl
Nette Core | 8235
+
0
-

Ještě jednodussí je {$bool ? ano : ne} ;-)

looky
Člen | 99
+
0
-

Třeba nějak takhle:

services:
	latte.latteFactory: # nette.latteFactory pro Nette < 2.3
		setup:
			- addFilter(anoNe, MyClass::myFilter)
<?php
class MyClass
{
	public static function myFilter($bool)
	{
		return $bool ? 'ano' : 'ne';
	}
}
?>

Nebo pokud si děláš instanci Latte sám, tak takhle:

<?php
$latte = new \Latte\Engine;
...
$latte->addFilter('anoNe', function($bool) { return $bool ? 'ano' : 'ne'; });
?>

A v šabloně pak:

{$var|anoNe}

Editoval looky (5. 3. 2015 10:26)