vypsání dat z asociativního pole
- milda404
- Člen | 27
Ahoj,
mám takový dotaz, protože řeším výpis dat v latte do kterého posílám asociativní pole z db, kde potřebuju zajistit výpis nějakých dat nebo hlášku že nebylo nic nalezeno.
Asi to nedokážu dost dobře popsat takže ukážu nástřel kódu.
Presenter
$this->template->perm = $this->context->permisions->getPerm($dot);
to mi vrátí
array(1=>'TRUE', 2=>'FALSE', 3=>'FALSE')
a pak v latte pomocí foreach řeším výpis
{block content}
{var $code = 3}
{dump $perm}
{foreach $perm as $key => $value}
{if $key === $code AND $value === 'TRUE'}
<div class="well">
<h1>Povedlo se</h1>
<p>...</p>
</div>
{breakIf $key === $code}
{else}
<div class="well">
<h1>Nepovedlo se</h1>
<p>...</p>
</div>
{/if}
{/foreach}
Jenže tím mi vyvstává problém a to, že mi např. při třech průchodech foreach vyhodnotí tři výpisy dat a já bych potřeboval pouze jeden výpis. A to buď jen jednou „Povedlo se“, nebo jen jednou „Nepovedlo se“.
Řešení pomocí foreach asi není nejšťastnější řešení, ale nevím jak jinak, nebo to jde zajistit i pomocí foreach???
Díky za rady
- Etch
- Člen | 403
Co to je za úlet?? Co chceš, aby ti to v tomto případě vypsalo???
Snad takto ne:
{block content}
{var $code = 3}
{dump $perm}
{if $perm[$code]}
<div class="well">
<h1>Povedlo se</h1>
<p>...</p>
</div>
{else}
<div class="well">
<h1>Nepovedlo se</h1>
<p>...</p>
</div>
{/if}
Editoval Etch (25. 11. 2014 20:22)
- japlavaren
- Člen | 404
V presenteri (modely) by som pomocou array filter riešil, či sa to
povedlo, alebo nie a to predával do šablony. Jedná sa o logiku a tá do
šablony nepatrí.
(Predstav si šablonu ako ženu: tá by to tiež nepochopila… ;)
- milda404
- Člen | 27
Etch napsal(a):
Co to je za úlet?? Co chceš, aby ti to v tomto případě vypsalo???
Snad takto ne:
Jsem si myslel že na to jdu zbytečně složitě protože jsem si
neuvědomil co přesně porovnávám tedy jsem ještě poupravil tvůj kód
o kontrolu zda je {if $perm[$code] === 'TRUE'}
a to je plně
funkční tedy :
{block content}
{var $code = 3}
{if $perm[$code] === 'TRUE'}
<div class="well">
<h1>Povedlo se</h1>
<p>...</p>
</div>
{else}
<div class="well">
<h1>Nepovedlo se</h1>
<p>...</p>
</div>
{/if}
Moc díky za pomoc máš u mě pivko ;)
Editoval milda404 (25. 11. 2014 20:33)
- milda404
- Člen | 27
japlavaren napsal(a):
V presenteri (modely) by som pomocou array filter riešil, či sa to povedlo, alebo nie a to predával do šablony. Jedná sa o logiku a tá do šablony nepatrí.
(Predstav si šablonu ako ženu: tá by to tiež nepochopila… ;)
To je mi jasný že by to v šabloně nemělo být ale já můžu přiřadit
$code
až v šabloně. Bohužel