<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum CakePHP.org.pl - Zmienna globalna dla controllera]]></title>
		<link>http://forum.cakephp.org.pl/topic/149/zmienna-globalna-dla-controllera/</link>
		<description><![CDATA[Najświeższe odpowiedzi w Zmienna globalna dla controllera.]]></description>
		<lastBuildDate>Thu, 29 Jul 2010 19:01:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Zmienna globalna dla controllera]]></title>
			<link>http://forum.cakephp.org.pl/post/661/#p661</link>
			<description><![CDATA[<p>Dziękuję, bardzo fajne rozwiązanie.</p><p>Pozdrawiam.</p>]]></description>
			<author><![CDATA[null@example.com (JaRo)]]></author>
			<pubDate>Thu, 29 Jul 2010 19:01:39 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/661/#p661</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Zmienna globalna dla controllera]]></title>
			<link>http://forum.cakephp.org.pl/post/659/#p659</link>
			<description><![CDATA[<p>Wiec tak &quot;posted&quot; zapisuj sobie w formie timestamp&#039;u unixowego - latwiej sie nim&nbsp; manipuluje, sortuje po dacie itp, + masz pewnosc ze data bedzie zapisana zawsze w tej samej formie a nie 2010-01-01 lub 01-01-2010.</p><br /><p>Poczytaj o poloach created, modifed w kejku - byc moze zastapia one Twoje posted. (jak jestes leniwy to dodaj do tabeli oba pola - tym int (10) najpierw z poziomu kejka dodaj rekord do bazy, potem go zmodyfikuj, i sprawdz co zawieraja ; )</p><p>Obliczenia wygladaja wtedy tak : floor((time()-$data[&quot;posted&quot;])/86400)&nbsp; &nbsp;- 86400 to ilosc sekund w dniu&nbsp; &nbsp;: 60 * 60 * 24.</p><p>Te obliczenia zrobilbym w modelu w callbacku afterFind : </p><br /><div class="codebox"><pre><code>class MojModel extends AppModel
{
...
function afterFind($results) 
{
    foreach ($results as $key =&gt; $val) 
       {
        if (!empty($val[MojModel&#039;][&#039;posted&#039;])) 
                {
                        $val[MojModel&#039;][&#039;posted&#039;] =   floor((time()-$val[MojModel&#039;][&#039;posted&#039;])/86400)
        }
    }
    return $results;
}




...


}</code></pre></div><p>Po kazdym zapytaniu&nbsp; model sam przeliczy wartosc posted i&nbsp; o ile wyslesz wynik zapytania do vidoku, to bedziesz miec tam juz przeliczona wartosc w dniach. </p><p><a href="http://book.cakephp.org/view/76/Callback-Methods">http://book.cakephp.org/view/76/Callback-Methods</a></p>]]></description>
			<author><![CDATA[null@example.com (rob_zombie)]]></author>
			<pubDate>Wed, 28 Jul 2010 07:49:38 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/659/#p659</guid>
		</item>
		<item>
			<title><![CDATA[Zmienna globalna dla controllera]]></title>
			<link>http://forum.cakephp.org.pl/post/658/#p658</link>
			<description><![CDATA[<p>Witam, </p><p>Chciałbym ustawić globalnie zmienną &quot;$posted&quot; w controllerze(i wyświetlić ją w widoku), tak, aby w zależności od tego, czy post został napisany, dziś, wczoraj, czy też 5 dni temu wyświetlał się odpowiedni tekst.</p><p>Zrobiłem coś takiego:<br /></p><div class="codebox"><pre><code>    $today = date(&#039;Y-m-d&#039;);
    $d = date(&#039;d&#039;)-1;
    $yesterday = date(&#039;Y-m-&#039;.$d.&#039;&#039;);
    $hour =  substr($advertisment[&#039;Advertisment&#039;][&#039;date_posted&#039;], 11, 5);
    $posted = substr($advertisment[&#039;Advertisment&#039;][&#039;date_posted&#039;], 0, 10);</code></pre></div><div class="codebox"><pre><code>&lt;?php if($posted == $today) { echo &#039;Dzisiaj o &#039;.$hour.&#039;&#039;; } elseif($posted == $yesterday) { echo &#039;Wczoraj o &#039;.$hour.&#039;&#039;; } else { echo substr($advertisment[&#039;Advertisment&#039;][&#039;date_posted&#039;], 0, 16); } ?&gt;</code></pre></div><p>Jak zapisać to wszystko jako funkcję w controllerze i wyświetlać tylko jedną zmienną?</p><p>Czy funkcja ma być w beforefilter? Przy każdym warunku dać return i na końcu set zmienna, $zmienna?<br />Jeżeli tak to prosiłbym o przykładową funkcję bo coś mi nie wychodzi.</p><p>Pozdrawiam.</p>]]></description>
			<author><![CDATA[null@example.com (JaRo)]]></author>
			<pubDate>Tue, 27 Jul 2010 22:17:35 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/658/#p658</guid>
		</item>
	</channel>
</rss>

