<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum CakePHP.org.pl - Zmienna globalna dla controllera]]></title>
	<link rel="self" href="http://forum.cakephp.org.pl/feed/atom/topic/149/"/>
	<updated>2010-07-29T19:01:39Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.cakephp.org.pl/topic/149/zmienna-globalna-dla-controllera/</id>
		<entry>
			<title type="html"><![CDATA[Odp: Zmienna globalna dla controllera]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/661/#p661"/>
			<content type="html"><![CDATA[<p>Dziękuję, bardzo fajne rozwiązanie.</p><p>Pozdrawiam.</p>]]></content>
			<author>
				<name><![CDATA[JaRo]]></name>
				<uri>http://forum.cakephp.org.pl/user/289/</uri>
			</author>
			<updated>2010-07-29T19:01:39Z</updated>
			<id>http://forum.cakephp.org.pl/post/661/#p661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Zmienna globalna dla controllera]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/659/#p659"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[rob_zombie]]></name>
				<uri>http://forum.cakephp.org.pl/user/280/</uri>
			</author>
			<updated>2010-07-28T07:49:38Z</updated>
			<id>http://forum.cakephp.org.pl/post/659/#p659</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Zmienna globalna dla controllera]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/658/#p658"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[JaRo]]></name>
				<uri>http://forum.cakephp.org.pl/user/289/</uri>
			</author>
			<updated>2010-07-27T22:17:35Z</updated>
			<id>http://forum.cakephp.org.pl/post/658/#p658</id>
		</entry>
</feed>

