explode URL – rozumne spracovanie zaznamu z databazy
- whitedeath
- Člen | 25
Nette Framework 2.0.1 (revision 94abcaa released on 2012–02–29)
PHP 5.3.9
Netbeans IDE 7.1
Ahoj, snazim sa vytvorit si svoj prvy projekt v Nette a bojujem so zakladnymi vecami. Mam v sablone latte takyto kusok kodu:
<?php
<div class="links">
{var $links = preg_split('/\r\n|\r|\n/', $usefullinks->content)}
{foreach $links as $link}
{var $l = explode('###', $link)}
<a href="{$l[0]}">{$l[1]}</a><br />
{/foreach}
</div>
?>
sam viem, ze takto to nevyzera vobec pekne a asi by to explode bolo dobre schovat inam, spravit si na to nejake makro, aby to vyzeralo nasledovne:
<?php
<div class="links">
{$usefullinks->content|generatelinks}
{foreach $usefullinks->contentas $link}
<a href="{$link->url}">{$link->title}</a><br />
{/foreach}
</div>
?>
alebo hocijako inac, len tomuto navodu som neporozumel dostatocne.
Je to vhodne robit podla toho navodu a pouzit funkciu $set->addMacro() ? Alebo su nejake viac-Nette sposoby?
Toto sa snazim vypisat horeuvedenym sposobom:
http://dailyinfographic.com/###Daily Infographichttp://drawar.com/###Drawar
http://eagereyes.org/###Eagereyes
http://flowingdata.com/###FlowingData
- hAssassin
- Člen | 293
{$usefullinks->content|generatelinks}
neni vlastni makro ale
pouze vlastni helper, cili hledej zde. A proc si toto
nepripravis uz v presenteru a do sablony si uz neposles rovnou pole
$usefulllinks
. Jo a bacha, rekl bych ze ti to stejne nebude
funguovat, musis to ulozit do promenny:
{var $links = $usefullinks->content|generatelinks}
.
- whitedeath
- Člen | 25
hAssassin napsal(a):
A proc si toto nepripravis uz v presenteru a do sablony si uz neposles rovnou pole
$usefulllinks
.
Lebo som sa k takemu niecomu este nedostal v tutoriale :)
Ale aby som bol presnejsi: nevedel som co je lepsie, ci spravit helper alebo makro, alebo to pripravit v prezenteri a potom to uz len odoslat. Pripravit si to v prezenteri neviem :( A neviem to z dovodu, ze ak si zavolam taketo nieco:
<?php
$this->template->usefullinks = $this->context->createPages()
->where(array('plist_title' => 'upperfooter', 'title' => 'usefullinks', 'hidden' => false, 'deleted' => false))
->fetch();
?>
a potom si to dam vypisat, tak mi to vyhodi len nejake pole plne vselicoho co absolutne netusim co znamena, ale tie moje hodnoty, ktore by som chcel tam nie su. Existuje nejaka forma koverzie? ked si tu premennu dumpnem, tak tam nenachadzam nic uzitocne… ziadne potrebne data.
- whitedeath
- Člen | 25
Aha, tak sa to da vpohode prejst foreachom, co mi predtym neslo neviem preco :( (Preto som sa tejto alternative dalej nevenoval…) Takze to spravim takym sposobom.
Dakujem za pomoc.