date helper format měsíce nefunguje

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

Váhal jsem jestli s to napsat, protože možná, že dělám něco blbě a zatím jsem nepřišel co, ale nakonec jsem se rozhodl napsat.

Z presenteru si posílám do šablony nějaké hodnoty, mimo jiné i datum, které si formátuji takto:

<td>{$row->day|date:'j. n. Y'}</td>

to funguje a vypíše se datum například 2.5.2013…

pak chci ale vytvořit odkaz na jiný presenter, kde si budu posílat ještě měsíc a rok, tedy jsem si vytvořil toto:

{var $m=$row->day|date:'n'}
{var $y=$row->day|date:'Y'}
<a href="{link Draft:edit, $y,$m }">Upravit</a>

a teď nastal ten problém, u proměnných, neboť pokud si pak v latte ty proměnné $y a $m zobrazím, zobrazí se mi:

2013–05–02 a 2013–05–02 jinými slovy helper to nezformátuje tak jak má…resp. tak jak bych očekával, přitom přímo např v tagu:

<td>$row->day|date:'n'</td>

se to zobrazí správně, tedy 5

kde dělám chybu? :)

Díky za pomoc.

Ještě Nette version 2.0.10 released

Editoval wb2009 (17. 4. 2013 9:21)

voda
Člen | 561
+
0
-

Helpery fungují na výstup makra, použij {var $m = $row->day->format('n')}.

wb2009
Člen | 125
+
0
-

Pokud použiji toto, pak mi to zařve toto:

Call to a member function format()

voda
Člen | 561
+
0
-

To je celá chybová zpráva? A co je v $row->day?

wb2009
Člen | 125
+
0
-

Celá chybová zpráva:
Call to a member function format() on a non-object

v $row->day je 2013–05–02 resp. hodím sem část kódu:

{foreach $drafts as $row}
         {var $m = $row->day->format('n')}
    <tr>
        <td>{$row->day|date:'d.m.Y'}</td>
        <td>{$row->time_from|date:'H:i'}</td>
        <td>{$row->time_to|date:'H:i'}</td>
...

Přičemž bez toho formátu to vypíše 2013–05–02

EDIT: Používám dibi

Editoval wb2009 (17. 4. 2013 9:50)

voda
Člen | 561
+
0
-

Dibi má metodu asDateTime, tak zkus použít tu: {var $m = $row->asDateTime('day', 'n')}.

wb2009
Člen | 125
+
0
-

Děkuji, pomohlo :)