<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Berkant AYDIN</title>
	<atom:link href="http://noi.snowbattle.com/feed" rel="self" type="application/rss+xml" />
	<link>http://noi.snowbattle.com</link>
	<description>Hayalgücü bilgiden üstündür.</description>
	<lastBuildDate>Tue, 10 Nov 2009 02:56:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SnowBattle 107 TL AdWords Hediye Kuponu Yarışması</title>
		<link>http://noi.snowbattle.com/genel/snowbattle-107-tl-adwords-hediye-kuponu-yarismasi.html</link>
		<comments>http://noi.snowbattle.com/genel/snowbattle-107-tl-adwords-hediye-kuponu-yarismasi.html#comments</comments>
		<pubDate>Tue, 10 Nov 2009 02:50:42 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Adwords]]></category>
		<category><![CDATA[Google Adwords]]></category>
		<category><![CDATA[hediye]]></category>
		<category><![CDATA[Hediye Kuponu]]></category>
		<category><![CDATA[kupon]]></category>
		<category><![CDATA[Sizlerden Gelenler]]></category>
		<category><![CDATA[yarışma]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=320</guid>
		<description><![CDATA[Bu yarışma SnowBattle.com ve BerkantAydin.com.tr için hazırlanmıştır.
Kuponları kazanmak için iki seçeneğiniz var. Ya sorulan sorunun doğru cevabını bulacaksınız ya da sisteme en çok hikaye göndereceksiniz.
Yarışma, bu yazıya yorum şeklinde olacaktır.
Facebook profiliyle bağlanan kullanıcıların, bağlandıkları facebook isimlerine, Facebook üzerinden mesaj atılacaktır.
Gönderilecek kodların son kullanma tarihleri 31 Aralık 2009&#8216;dur. Bu süre içerisinde sisteme girilmelidirler.
Sonuçlar 1 Aralık 2009 [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yarışma <a href="http://snowbattle.com"><strong>SnowBattle.com</strong></a> ve <a href="http://BerkantAydin.com.tr"><strong>BerkantAydin.com.tr</strong></a> için hazırlanmıştır.</p>
<p>Kuponları kazanmak için iki seçeneğiniz var. Ya sorulan sorunun doğru cevabını bulacaksınız ya da sisteme en çok hikaye göndereceksiniz.</p>
<p><strong>Yarışma, bu yazıya yorum şeklinde olacaktır.</strong></p>
<p>Facebook profiliyle bağlanan kullanıcıların, bağlandıkları facebook isimlerine, Facebook üzerinden mesaj atılacaktır.</p>
<p>Gönderilecek kodların son kullanma tarihleri<strong> 31 Aralık 2009</strong>&#8216;dur. Bu süre içerisinde sisteme girilmelidirler.</p>
<p>Sonuçlar <strong>1 Aralık 2009 </strong>tarihinde açıklanacaktır. Sürelerde ve kurallarda her türlü oynama hakkı sistemimizde saklıdır.</p>
<p>Gönderilen hikayeleri bir başkası sizden önce göndermişse, siz o hikayeyi göndermemiş sayılırsınız.</p>
<p>Gönderilen hikayeler daha sonra sitelerimizde &#8220;Sizlerden Gelenler&#8221; adlı bir bölüme eklenecektir.</p>
<ul>
<blockquote>
<li><strong>Soruya cevap vermeyi seçenler</strong>, konuya yorum olarak &#8220;<strong>@cevap;</strong>&#8221; şeklinde başlayan bir yorum yapsınlar.</li>
<li><strong>En çok hikaye göndermeyi deneyecek olan arkadaşlar</strong>sa &#8220;<strong>@hikaye;</strong>&#8221; şeklinde başlayarak hikayelerini yazsınlar.</li>
</blockquote>
</ul>
<p><strong>Soru:</strong></p>
<blockquote><p>Mısırda bir krallık varmış. Kralı çok yaşlıymış ve yerine geçicek kişiyi belirleme zamanı gelmiş. Günlerden bir gün 2 yardımcısını da yanına çağırmış ve onlara demiş ki:</p>
<p>&#8220;Efendiler, kararsız kaldım. Sizi bir yarışmaya sokacağım, kazanan yerime geçecektir&#8221;</p>
<p>Şüphesiz, kralın yardımcıları bunu kabul etmiş ve ertesi gün herkes yarışmanın yapılacağı yere toplanmış.<br />
Kral başlamış yarışmayı anlatmaya:<br />
&#8220;ikinizde deveye bineceksiniz, ve çölde en fazla kalan devenin sahibi yarışmayı kazanacak&#8221; demiş<br />
Yani &#8220;krallığa en son dönen&#8221;<br />
Yardımcılar &#8220;tamam efendim&#8221; demiş ve Yarışma başlamış. İlk günün sonlarında çölden bir bilge geçiyormuş.<br />
Bilge bunlara &#8220;&#8230;&#8221; söylemiş.</p>
<p>2 yardımcıda olağan gücüyle krallığa dönmüşler. Halbuki, yarışmayı son giden kazacaktı.<strong> </strong></p>
<p><strong>Bu bilge yardımcılara ne demiş olabilir ?</strong></p></blockquote>
<p><strong>Ödüller:</strong></p>
<p><strong>Sorunun cevabı için;</strong></p>
<p>İlk doğru cevaba<strong> 107 TL değerinde 2 adwords kuponu</strong></p>
<p><strong>Hikayeler için;</strong></p>
<p>En çok hikaye gönderen</p>
<p><strong>1. kişiye</strong><strong> </strong><strong>107 TL değerinde 3 adet adwords kuponu</strong><strong> </strong></p>
<p><strong>2. kişiye</strong><strong> <strong> </strong><strong>107 TL </strong>değerinde 2 <strong>adet</strong> adwords kuponu</strong><strong> </strong></p>
<p><strong>3. kişiye </strong><strong><strong></strong><strong>107 TL </strong>değerinde 1 <strong>adet </strong>adwords kuponu</strong></p>
<p><strong>Yarışmacılara Başarılar !<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/genel/snowbattle-107-tl-adwords-hediye-kuponu-yarismasi.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smarty Matematik {math}</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-matematik.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-matematik.html#comments</comments>
		<pubDate>Mon, 02 Nov 2009 00:16:17 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Manual]]></category>
		<category><![CDATA[Smarty Math]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=312</guid>
		<description><![CDATA[Smarty ile Matematik
Matematik fonksiyonları, doğrudan değişken değerlere uygulanabilir.

Örnek Smarty Matematik örnekleri;
{$sayi+1}
{$berkant*$SnowBattle}
{* Bir kaç komplike örnek *}
{$berkant-&#62;deger1-$SnowBattle[1]*$SnowBattle-site&#62;deger()-3*7}
{if ($berkant+$SnowBattle.test%$berkant*134232+10+$b+10)}
{$berkant&#124;truncate:&#8221;`$berkantTruncCount/$snowbattleTruncFactor-1`&#8221;}
{assign var=&#8221;berkant&#8221; value=&#8221;`$berkant+$snowbattle`&#8221;}
Not: Denklemler için {math} ve {eval} fonksiyonları daha sonra detaylıca anlatılacaktır.
]]></description>
			<content:encoded><![CDATA[<p><strong><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" />Smarty ile Matematik</strong></p>
<p>Matematik fonksiyonları, doğrudan değişken değerlere uygulanabilir.</p>
<p><span id="more-312"></span></p>
<p><strong>Örnek Smarty Matematik örnekleri;</strong></p>
<p>{$sayi+1}</p>
<p>{$berkant*$SnowBattle}</p>
<p>{* Bir kaç komplike örnek *}</p>
<p>{$berkant-&gt;deger1-$SnowBattle[1]*$SnowBattle-site&gt;deger()-3*7}</p>
<p>{if ($berkant+$SnowBattle.test%$berkant*134232+10+$b+10)}</p>
<p>{$berkant|truncate:&#8221;`$berkantTruncCount/$snowbattleTruncFactor-1`&#8221;}</p>
<p>{assign var=&#8221;berkant&#8221; value=&#8221;`$berkant+$snowbattle`&#8221;}</p>
<p>Not: Denklemler için {math} ve {eval} fonksiyonları daha sonra detaylıca anlatılacaktır.</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-matematik.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Çift tırnak içine değişken ekleme</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-cift-tirnak-icine-degisken-ekleme.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-cift-tirnak-icine-degisken-ekleme.html#comments</comments>
		<pubDate>Sun, 01 Nov 2009 23:30:12 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Embedding Vars in Double Quotes]]></category>
		<category><![CDATA[Smarty Manual]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=308</guid>
		<description><![CDATA[Smarty &#8211; Çift tırnak içine değişken eklemek
* Smarty&#8217;de &#8220;çift tırnak içerisinde&#8221; uzun uzund eğişkenler tanımlayabilirsiniz. Bu değişkenler sadece numaralar, kelimeler, alt_çizgiler ve köşeli parantezler içerebilir.
* Diğer karakterler ya da örneğin bir obje (örnek: $berkant-&#62;site) için `ters tırnaklar`ın içine alabilirsiniz.
* Düzenleyicileri ekleyemezsiniz, onlar daima tırnakların dışında olmalıdır.

Sözdizimi örnekleri;
{func var=&#8221;test $berkant test&#8221;}       &#60;&#8211; $berkant görünür
{func var=&#8221;test $berkant_aydin [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /><strong>Smarty &#8211; Çift tırnak içine değişken eklemek</strong></p>
<p>* Smarty&#8217;de &#8220;çift tırnak içerisinde&#8221; uzun uzund eğişkenler tanımlayabilirsiniz. Bu değişkenler sadece numaralar, kelimeler, alt_çizgiler ve köşeli parantezler içerebilir.</p>
<p>* Diğer karakterler ya da örneğin bir obje (örnek: $berkant-&gt;site) için `ters tırnaklar`ın içine alabilirsiniz.</p>
<p>* Düzenleyicileri ekleyemezsiniz, onlar daima tırnakların dışında olmalıdır.</p>
<p><span id="more-308"></span></p>
<p><strong>Sözdizimi örnekleri;</strong></p>
<p>{func var=&#8221;test $berkant test&#8221;}       &lt;&#8211; $berkant görünür<br />
{func var=&#8221;test $berkant_aydin test&#8221;}   &lt;&#8211; $berkant_aydin görünür<br />
{func var=&#8221;test $berkant[0] test&#8221;}    &lt;&#8211; $berkant[0] görünür<br />
{func var=&#8221;test $berkant[site] test&#8221;}  &lt;&#8211; $berkant[site] görünür<br />
{func var=&#8221;test $berkant.site test&#8221;}   &lt;&#8211; $berkant görünür ($berkant.site değil)<br />
{func var=&#8221;test `$berkant.site` test&#8221;} &lt;&#8211; $berkant.site görünür<br />
{func var=&#8221;test `$berkant.site` test&#8221;|escape} &lt;&#8211; düzenleyiciler dışındaki tırnaklar!</p>
<p>Not: &#8220;escape&#8221; ileriki yazılarda incelenecektir.</p>
<p><strong>Uygulamalı Örnekler;</strong></p>
<p>{* $tpl_adi değeri ile yer değiştirecek ve sistem include işlemini sonrasında gerçekleştirecektir. *}<br />
{include file=&#8221;subdir/$tpl_adi.tpl&#8221;}</p>
<p>{* $tpl_adi bir değere sahip olsa dahi bu kez değiştirilmeyecektir. *}<br />
{include file=&#8217;subdir/$tpl_adi.tpl&#8217;} &lt;&#8211;</p>
<p>{* (backticks) değişkenlerin değerleri kullanılırken ters tırnaklar kullanılmalıdır. *}<br />
{döngü değerler=&#8221;bir,iki,`$smarty.config.deger`&#8221;}</p>
<p>{*  $modul['iletisim'].&#8217;.tpl&#8217; bir php dosyası içinde tanımlı *}<br />
{include file=&#8221;`$modul.iletisim`.tpl&#8221;}</p>
<p>{*  $modul[$goster].&#8217;.tpl&#8217; bir php dosyası içinde tanımlı *}<br />
{include file=&#8221;$modul.$goster.tpl&#8221;}</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-cift-tirnak-icine-degisken-ekleme.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Öznitelikleri</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-oznitelikleri.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-oznitelikleri.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 14:09:27 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Attributes]]></category>
		<category><![CDATA[Smarty Manual]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=295</guid>
		<description><![CDATA[Smarty Öznitelikleri
Pek çok fonksiyona özellik belirtmek ya da onların özniteliklerini değiştirmek gerekebilir. Smarty fonksiyonlarının özellikleri HTML söz dizimine oldukça benzemektedir. Sabit (statik) değerleri tırnak içine gerek yoktur, onları { } içine almanız önerilir. Yalnız kullanılabilir değişkenler asla tırnak içinde olmamalıdır. Onun yerine { } kullanılmalıdır.

Bazı nitelikler boolean değerleri (DOĞRU veya YANLIŞ) gerektirir. Bu istenirse şu [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /><strong>Smarty Öznitelikleri</strong></p>
<p>Pek çok fonksiyona özellik belirtmek ya da onların özniteliklerini değiştirmek gerekebilir. <a href="http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> fonksiyonlarının özellikleri HTML söz dizimine oldukça benzemektedir. Sabit (statik) değerleri tırnak içine gerek yoktur, onları<strong> { }</strong> içine almanız önerilir. Yalnız kullanılabilir değişkenler asla tırnak içinde olmamalıdır. Onun yerine { } kullanılmalıdır.</p>
<p><span id="more-295"></span></p>
<p>Bazı nitelikler boolean değerleri (DOĞRU veya YANLIŞ) gerektirir. Bu istenirse şu şekillerde de kullanılabilir.</p>
<p>Doğru (<strong>TRUE</strong>) için: yes, on ve true</p>
<p>Yanlış (<strong>FALSE</strong>) için: no, off ve false</p>
<p><strong>Örnek Fonksiyon öznitelik söz dizimi;</strong></p>
<pre class="brush: html; ">
&lt;br /&gt;
{include file=&#039;header.tpl&#039;}&lt;br /&gt;
{include file=&#039;header.tpl&#039; oznitelik_ismi=oznitelik_degeri&#039;}&lt;br /&gt;
{include file=$includeFile}&lt;br /&gt;
{include file=#includeFile# title=&#039;Berkant AYDIN&#039;dan Smarty Örneği...&#039;}&lt;br /&gt;
{html_select_date display_days=yes}&lt;br /&gt;
{mailto address=smartyornek@snowbattle.com&#039;}&lt;br /&gt;
&lt;select name=&#039;sirket_id&#039;&gt;&lt;br /&gt;
{html_options options=$sirketler selected=$sirket_id}&lt;br /&gt;
&lt;/select&gt;&lt;br /&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-oznitelikleri.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Fonksiyonlar ve Örnek</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-fonksiyonlar-ve-ornek.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-fonksiyonlar-ve-ornek.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 13:43:59 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Functions]]></category>
		<category><![CDATA[Smarty html_options]]></category>
		<category><![CDATA[Smarty Manual]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=279</guid>
		<description><![CDATA[Smarty Fonksiyonlar
Her Smarty etiketi ya bir değişkeni yayınlar ya da bir çeşit fonksiyon çağırır. bu tip fonksiyonlara bir örnek vermek gerekirse;
{fonksyionadi ozellik1=&#8217;deger1&#8242; ozellik2=&#8217;deger2&#8242;}

Örnek Fonksiyon söz dizimi;


{config_load file=renkler.conf&#039;}
{include file=&#039;header.tpl&#039;}
{insert file=&#039;reklam_ads.tpl&#039; title=&#039;Berkant AYDIN&#039;dan Smarty Örneği&#039;}
{if $logged_in}
Hoşgeldiniz, &#60;font color=&#34;{#fontColor#}&#34;&#62;{$isim}!&#60;/font&#62;
{else}
Merhaba, {$isim}
{/if}
{include file=&#039;footer.tpl&#039; reklam=$random_id}

* Hem yerleşik fonksiyonları hem de özel fonksiyonları aynı şablon içerisinde kullabilirsiniz.
* Smarty&#8217;nin değiştirmeye gerek olmayan {if} [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /><strong>Smarty Fonksiyonlar</strong></p>
<p>Her <a href="http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> etiketi ya bir değişkeni yayınlar ya da bir çeşit fonksiyon çağırır. bu tip fonksiyonlara bir örnek vermek gerekirse;</p>
<p><strong>{fonksyionadi ozellik1=&#8217;deger1&#8242; ozellik2=&#8217;deger2&#8242;}</strong></p>
<p><span id="more-279"></span></p>
<p><strong>Örnek Fonksiyon söz dizimi;</strong></p>
<pre class="brush: html; ">

{config_load file=renkler.conf&#039;}
{include file=&#039;header.tpl&#039;}
{insert file=&#039;reklam_ads.tpl&#039; title=&#039;Berkant AYDIN&#039;dan Smarty Örneği&#039;}
{if $logged_in}
Hoşgeldiniz, &lt;font color=&quot;{#fontColor#}&quot;&gt;{$isim}!&lt;/font&gt;
{else}
Merhaba, {$isim}
{/if}
{include file=&#039;footer.tpl&#039; reklam=$random_id}
</pre>
<p>* Hem yerleşik fonksiyonları hem de özel fonksiyonları aynı şablon içerisinde kullabilirsiniz.<br />
* Smarty&#8217;nin değiştirmeye gerek olmayan {if} , {section} ve {strip} gibi fonksiyonları da vardır.<br />
* İsterseniz kendi isteklerinize uygun fonksiyonlar da oluşturabilirsiniz. Bunlara örnek olarak {html_options} ve {popup} güzel birer örnektir.</p>
<p>Ayrıca ilerleyen yazılarımda register_function() &#8216;a bakınız</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-fonksiyonlar-ve-ornek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Eklenti Yazarlığı &#8211; Örnek: Karalama Defteri</title>
		<link>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi-ornek-karalama-defteri.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi-ornek-karalama-defteri.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 02:08:20 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[eklenti]]></category>
		<category><![CDATA[Wordpress Eklenti Örneği]]></category>
		<category><![CDATA[Wordpress Eklenti Yazarlığı]]></category>
		<category><![CDATA[Wordpress Eklenti Yazmak]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=272</guid>
		<description><![CDATA[Sizler için hızlıca, db kullanan basit bir eklenti hazırladım. Wordpress Eklenti Yazarlığı konusunda aklınızdaki soru işaretlerinin çoğunu ortadan kaldıracaktır.



&#60;?php

/*

Plugin Name: Karalama Defteri

Plugin URI: http://www.snowbattle.com

Description: Sisteminize kişisel notlar ekleyebileceğiniz, üyelerinize kişisel notlar ekletebileceğiniz bir karalama defteri ekler.

Author: Berkant AYDIN

Version: 1.0.

Author URI: http://www.snowbattle.com/

*/

/* Create Database - Veritabani Olusturma */

$wpdb-&#62;kd = $wpdb-&#62;prefix . &#039;karalamadefteri&#039;;

/*

Tablomuzun adi KaralamaDefteri olup, bunu [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-275" title="wordpress" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/wordpress.jpg" alt="wordpress" width="150" height="150" />Sizler için hızlıca, db kullanan basit bir eklenti hazırladım. <a href="http://noi.snowbattle.com/web-programlama/php/wordpress" target="_blank">Wordpress Eklenti Yazarlığı</a> konusunda aklınızdaki soru işaretlerinin çoğunu ortadan kaldıracaktır.</p>
<p><span id="more-272"></span></p>
<pre class="brush: php; ">

&lt;?php

/*

Plugin Name: Karalama Defteri

Plugin URI: http://www.snowbattle.com

Description: Sisteminize kişisel notlar ekleyebileceğiniz, üyelerinize kişisel notlar ekletebileceğiniz bir karalama defteri ekler.

Author: Berkant AYDIN

Version: 1.0.

Author URI: http://www.snowbattle.com/

*/

/* Create Database - Veritabani Olusturma */

$wpdb-&gt;kd = $wpdb-&gt;prefix . &#039;karalamadefteri&#039;;

/*

Tablomuzun adi KaralamaDefteri olup, bunu $wpdb isimli

WP&#039;nin veritabani sinifina $wpdb-&gt;kd olarak tanitiyoruz

*/

function karalama_defteri_kurulum() {

/* Kurulum islemini yapacak olan fonksiyonumuz, ismini istediğiniz gibi verebilirsiniz */

global $wpdb;

/* $wpdb adli  WP&#039;nin veritabani sinifini fonksiyonumuza cağiriyoruz. Fonksiyonlarimizda veritabani islemleri yapmak icin bunu

yapmamiz gerekiyor */

$db_sql=&quot;CREATE TABLE IF NOT EXISTS &quot;.$wpdb-&gt;kd.&quot; (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`id_user` bigint(20) NOT NULL,

`n_baslik` varchar(255) NOT NULL,

`n_icerik` text NULL,

`t_ekleme` datetime,

PRIMARY KEY  (`id`)

)&quot;;

/* Tablomuzu olusturacak SQL ifadesi */

$wpdb-&gt;query($db_sql);

/* SQL ifademizi calistiriyoruz */

}

if (isset($_GET[&#039;activate&#039;]) &amp;amp;&amp;amp; $_GET[&#039;activate&#039;] == &#039;true&#039;) {

/* Eğer kullanici &quot;Etkinlestir&quot; bağlantisina tikladiysa, &quot;karalama_defteri_kurulum&quot; fonksiyonunu cağir */

add_action(&#039;init&#039;, &#039;karalama_defteri_kurulum&#039;);

}

/* Admin Panel - Yonetim Paneli Olusturma */

/*

add_submenu_page(ana_menü_dosya_adi, alt_menü_sayfa_basliği, alt_menü_basliği, yetki_düzeyi, eklenti_dosyasinin_adi,

menü_basliğina_tiklandiğinda_cağirilacak_fonksiyon)

ana_menü_dosya_adi olarak post-new.php (Yaz), edit.php (Yönet), edit-comments.php (Yorumlar), link-manager.php (Bağlantilar),

themes.php (Görünüm), plugins.php (Eklentiler), users.php (Kullanicilar), options-general.php (Tercihler) dosya adlarini

kullanabilirsiniz.

yetki_düzeyi, bu menüyü kullanabilecek yöneticinin yetki düzeyini belirler ki 10 en yüksek düzeydir. Detayli level bilgisi icin

(http://codex.wordpress.org/User_Levels). eklenti_dosyasinin_adi, menüye tiklandiğinda cağirilacak dosyayi belirler, bu

parametreyi yönetim islemlerini ayri dosyada halletmek icin de kullanabiliriz, böylece eklentimizi parcalayarak kücük dosyalar

haline getirebiliriz (bu fikir simdi aklima geldi, gercekten de iyi olacaktir) ancak biz __FILE__ ifadesi ile menünün olusturulduğu

dosyayi fonksiyona bildirmis olduk.

*/

add_action(&#039;admin_menu&#039;, &#039;yonetime_ekle&#039;);

function yonetime_ekle() {

add_submenu_page(&#039;post-new.php&#039;, &#039;Karalama Defteri&#039;, &#039;Karalama Defteri&#039;, 3, __FILE__, &#039;kd_menu&#039;);

}

function kd_menu() {

global $wpdb, $user_id;

/* Veritabanini kullanacağimiz icin $wpdb sinifini global olarak tanimliyoruz, $user_ID kendinden tanimli halde wp ile geliyor. */

echo &#039;&lt;div&gt;&#039;;

/* wrap isimli stil klasi yönetim panelindeki icerik bölümünü gösteriyor */

if ($_POST[&#039;islem&#039;]== &#039;ekle&#039;) { kd_ekle (); }

if ($_GET[&#039;islem&#039;]== &#039;sil&#039;) { kd_sil (); }

if ($_POST[&#039;islem&#039;]== &#039;duzenle&#039;) { kd_duzenle (); }

/*

Yukaridaki kontroller ile POST ya da GET&#039;den gelen &quot;islem&quot; değiskeninin

değerine göre ilgili islemi yapacak fonksiyonlara dallaniyoruz

*/

$sorgu = &quot;SELECT * FROM $wpdb-&gt;kd where id_user=&#039;$user_id&#039; order by id desc&quot;;

$sonuclar = $wpdb-&gt;get_results($sorgu);

/*

Kayitlari listelemek icin veritabanindan aliyoruz. Ve asağidaki kodlarla

düzenli liste seklinde bir liste olusturuyor, kayitlarin sonlarina da

islem yapacak linkleri ekliyoruz.

*/

if ($sonuclar) {

echo &quot;&lt;strong&gt;Kayitlar:&lt;/strong&gt;&quot;;

echo &#039;&lt;table width=&quot;%100&quot; style=&quot;border:1px #000000 solid&quot;&gt;&#039;;

echo &quot;&lt;tr&gt;&lt;td&gt;ID&lt;/td&gt;&lt;td&gt;Baslik&lt;/td&gt;&lt;td&gt;Icerik&lt;/td&gt;&lt;td&gt;Eklendi&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&quot;;

foreach ($sonuclar as $sonuc) {

$id=stripslashes($sonuc-&gt;id);

$baslik=stripslashes($sonuc-&gt;n_baslik);

$icerik=stripslashes($sonuc-&gt;n_icerik);

$t_ekleme=stripslashes($sonuc-&gt;t_ekleme);

echo &quot;&lt;tr&gt;&lt;td width=&#039;%10&#039; style=&#039;border:1px #000000 solid; text-align:right;&#039;&gt;&quot;;

echo $id;

echo &quot;&lt;/td&gt;&lt;td width=&#039;%15&#039; style=&#039;border:1px #000000 solid&#039;&gt;&quot;;

echo $baslik;

echo &quot;&lt;/td&gt;&lt;td width=&#039;%25&#039; style=&#039;border:1px #000000 solid&#039;&gt;&quot;;

echo substr($icerik,3,40).&quot;...&quot;;

echo &quot;&lt;/td&gt;&lt;td width=&#039;%15&#039; style=&#039;border:1px #000000 solid; text-align:right;&#039;&gt;&quot;;

echo $t_ekleme;

echo &quot;&lt;/td&gt;&lt;td width=&#039;%7&#039; style=&#039;border:1px #000000 solid; text-align:center;&#039;&gt;&quot;;

echo &quot;[&lt;a href=&#039;&quot;.$_SERVER[&#039;PHP_SELF&#039;].&quot;?page=karalama_defteri.php&amp;amp;degistir=&quot;.$id.&quot;&#039;&gt;Duzenle&lt;/a&gt;]&quot;;

echo &quot;&lt;/td&gt;&lt;td width=&#039;%5&#039; style=&#039;border:1px #000000 solid; text-align:center;&#039;&gt;&quot;;

echo &quot;[&lt;a href=&#039;&quot;.$_SERVER[&#039;PHP_SELF&#039;].&quot;?page=karalama_defteri.php&amp;amp;islem=sil&amp;amp;silno=&quot;.$id.&quot;&#039;&gt;Sil&lt;/a&gt;]&quot;;

echo &quot;&lt;/td&gt;&lt;/tr&gt;&quot;;

}

echo &quot;&lt;/table&gt;&quot;;

} else { echo &quot;Hic Kayit bulunamadi!&quot;; }

/* Eğer düzenleme islemi yapilmak istenmemisse bos bir metin kutusu olusturuyoruz */

if (!isset($_GET[&#039;degistir&#039;])) {

/* Değistir Denilmemisse */

?&gt;

&lt;form action=&quot;&lt;?php $_SERVER[&#039;PHP_SELF&#039;] ?&gt;?page=karalama_defteri.php&quot; method=&quot;post&quot;&gt;

&lt;fieldset&gt;

&lt;table width=&quot;600&quot;&gt;

&lt;tr&gt;

&lt;td&gt;

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&quot; /&gt;&lt;td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

Baslik

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;text&quot; name=&quot;baslik&quot; value=&quot;&quot; /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

Icerik

&lt;/td&gt;

&lt;td&gt;

&lt;textarea name=&quot;icerik&quot; cols=&quot;40&quot; rows=&quot;10&quot;&gt;&lt;/textarea&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;hidden&quot; name=&quot;islem&quot; value=&quot;ekle&quot; /&gt;

&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Kaydet&quot; /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;/table&gt;

&lt;/fieldset&gt;

&lt;/form&gt;

&lt;?php

}

else

{

$sorgu = &quot;SELECT * FROM $wpdb-&gt;kd where id=&#039;$_GET[degistir]&#039; AND id_user=&#039;$user_id&#039; limit 1&quot;;

$sonuclar = $wpdb-&gt;get_results($sorgu);

if ($sonuclar) {

foreach ($sonuclar as $sonuc) {

$id=stripslashes($sonuc-&gt;id);

$baslik=stripslashes($sonuc-&gt;n_baslik);

$icerik=stripslashes($sonuc-&gt;n_icerik);

$deger=stripslashes($sonuc-&gt;n_deger);

}

}

?&gt;

&lt;form action=&quot;&lt;?php $_SERVER[&#039;PHP_SELF&#039;] ?&gt;?page=karalama_defteri.php&quot; method=&quot;post&quot;&gt;

&lt;fieldset&gt;

&lt;table width=&quot;400&quot;&gt;

&lt;tr&gt;

&lt;td&gt;

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&lt;? echo $id; ?&gt;&quot; /&gt;

&lt;td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

Baslik

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;text&quot; name=&quot;baslik&quot; value=&quot;&lt;? echo $baslik; ?&gt;&quot; /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

Icerik

&lt;/td&gt;

&lt;td&gt;

&lt;textarea name=&quot;icerik&quot; cols=&quot;40&quot; rows=&quot;10&quot;&gt;&lt;? echo $icerik ?&gt;&lt;/textarea&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

Deger

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;text&quot; name=&quot;deger&quot; value=&quot;&lt;? echo $deger ?&gt;&quot; /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;

&lt;/td&gt;

&lt;td&gt;

&lt;input type=&quot;hidden&quot; name=&quot;islem&quot; value=&quot;duzenle&quot; /&gt;

&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Kaydet&quot; /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;/table&gt;

&lt;/fieldset&gt;

&lt;/form&gt;

&lt;?

}

echo &quot;&lt;/div&gt;&quot;;

}

/* kd_menu Fonksiyon Sonu */

/* Yeni - New */

function kd_ekle (){

global $wpdb, $user_id;

/*

Asağidaki kod ile POST&#039;dan gelen verileri mySQL acisindan zararsiz hale getiriyoruz

Sayisal verilerde ise (int) ifadesi ile zararsiz hale getirebiliyoruz.

*/

$baslik=$wpdb-&gt;escape($_POST[&#039;baslik&#039;]);

$icerik=$wpdb-&gt;escape($_POST[&#039;icerik&#039;]);

$sql= &quot;INSERT INTO &quot;.$wpdb-&gt;kd.&quot; VALUES (NULL,&#039;&quot;.$user_id.&quot;&#039;,&#039;&quot;.$baslik.&quot;&#039;,&#039;&quot;.$icerik.&quot;&#039;, now())&quot;;

$wpdb-&gt;query($sql);

//Asağidaki koddaki &quot;updated fade&quot; klasi uyari mesajlarina fade efekti uyguluyor.

?&gt;

&lt;div id=&quot;message&quot;&gt;&lt;p&gt;Yeni kayit eklendi! &lt;/p&gt;&lt;/div&gt;

&lt;?php

}

//Sil-Delete

function kd_sil () {

global $wpdb, $user_id;

$sql=&quot;DELETE FROM &quot;.$wpdb-&gt;kd.&quot; WHERE id=&#039;&quot;.(int) $_GET[&#039;silno&#039;].&quot;&#039; AND id_user=&#039;$user_id&#039;&quot;;

$sonuc=$wpdb-&gt;query($sql);

?&gt;

&lt;div id=&quot;message&quot;&gt;&lt;p&gt;&lt;strong&gt;Kayit silindi!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;

&lt;?php

}

//Edit - Düzenle

function kd_duzenle () {

global $wpdb, $user_id;

$baslik=$wpdb-&gt;escape($_POST[&#039;baslik&#039;]);

$icerik=$wpdb-&gt;escape($_POST[&#039;icerik&#039;]);

$sql=&quot;UPDATE &quot;.$wpdb-&gt;kd.&quot; SET n_baslik=&#039;&quot;.$baslik.&quot;&#039;, n_icerik=&#039;&quot;.$icerik.&quot;&#039; where id=&#039;&quot;. (int) $_POST[&#039;id&#039;].&quot;&#039; AND

id_user=&#039;$user_id&#039;&quot;;

$wpdb-&gt;query($sql);?&gt;

&lt;div id=&quot;message&quot;&gt;&lt;p&gt;&lt;strong&gt;Kayit duzenlendi!&lt;/strong&gt; &lt;/p&gt;&lt;/div&gt;

&lt;?php

}

?&gt;
</pre>
<p>Görüşmek üzere&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi-ornek-karalama-defteri.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Eklenti Yazarlığı</title>
		<link>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 01:44:47 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[eklenti]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=70</guid>
		<description><![CDATA[Wordpress için yazılan eklentilerin birtakım standartları vardır, bu standartlara uygun olarak Wordpress eklentisi yazılabilir. Aynı zamanda eklenti yazarken mümkün olduğunca wordpress’in fonksiyonlarını kullanmak faydalı olacaktır. Facebook API&#8217;lerine oldukça benzerdir ve kolaydır.

Wordpress eklentisi aşağıdaki ifadeler ile başlamalıdır.


&#60;?php
/*
Plugin Name: Admin Naber?
Plugin URI: http://noi.snowbattle.com
Description: Eklenti ile ilgili açıklama
Author: Berkant AYDIN - Noimpos
Version: 1.0
Author URI: http://noi.snowbattle.com
*/
?&#62;

Buradaki ifadelerin anlamları şöyledir;
* [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-275" title="wordpress" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/wordpress.jpg" alt="wordpress" width="150" height="150" />Wordpress için yazılan eklentilerin birtakım standartları vardır, bu standartlara uygun olarak Wordpress eklentisi yazılabilir. Aynı zamanda eklenti yazarken mümkün olduğunca wordpress’in fonksiyonlarını kullanmak faydalı olacaktır. Facebook API&#8217;lerine oldukça benzerdir ve kolaydır.</p>
<p><span id="more-70"></span></p>
<p>Wordpress eklentisi aşağıdaki ifadeler ile başlamalıdır.</p>
<pre class="brush: php; ">

&lt;?php
/*
Plugin Name: Admin Naber?
Plugin URI: http://noi.snowbattle.com
Description: Eklenti ile ilgili açıklama
Author: Berkant AYDIN - Noimpos
Version: 1.0
Author URI: http://noi.snowbattle.com
*/
?&gt;
</pre>
<p>Buradaki ifadelerin anlamları şöyledir;</p>
<p>* Plugin Name: Eklentinin ismini içermelidir. Eklenti ismi, eklentiyi açıklayan bir veya iki kelimeden oluşmalıdır.<br />
* Plugin URI: Eklentinin web adresi.<br />
* Description: Eklentinin ne yaptığını anlatan bir açıklama.<br />
* Author: Eklentinin yazarı.<br />
* Version: Eklentinin versiyonu (1.0, 1.1 vs. gibi)<br />
* Author URI: Eklenti yazarının web sitesi</p>
<p>Yukarıdaki ifadeler ile eklenti yazımına başlanmış oldu, bundan sonraki aşama eklentinin ilk aşamada ne iş yapacağının ayarlanmasıdır. Yani eklenti Aktif edildiğinde oluşturulması gereken tablolar, kayıtlar vs. işler varsa bunları yapacak olan kod bloğunun yazılmasıdır. Bu kod bir fonksiyon içerisinde yazılmalı ve fonksiyon wp’da yer alan add_action API ile çağırılmalıdır.</p>
<pre class="brush: php; ">

&lt;?php
function eklentiKurulum() {
// Eklenti aktif edildiğinde yapılması gereken işlemler
add_option(&#039;secenek_adi&#039;, &#039;degeri&#039;);
}
?&gt;
</pre>
<p>Yukarıdaki eklentiKurulum fonksiyonu içerisine, eklenti aktif edildiğinde yapılacak işlemler yazılır. Örneğin eklenti için bir seçenek kaydedilecekse bunun için yukarıdaki gibi bir satır yazılmalıdır.</p>
<pre class="brush: php; ">

&lt;?php
if (isset($_GET[&#039;activate&#039;]) &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; $_GET[&#039;activate&#039;] == ‘true’) {
add_action(&#039;init&#039;, &#039;eklentiKurulum&#039;);
}
?&gt;
</pre>
<p>Eklentinin aktif olup olmadığını kontrol eden fonksiyonu çağırmak için wp içerisinde yer alan add_action metodu kullanılır. Bu metod init parametresi ile çalıştırılır. Sıra eklentinin asıl yapacağı işi tanımlamaya geldi. Aslında yazılmış olan bir ya da daha fazla fonksiyon eklenti içerisinde çağırılabilir. Yazılan eklenti admin yani yönetim panelinin üst kısmına sadece “Admin Naber?” yazacak. Aşağıdaki gibi bir bunun için yeterli olacaktır.</p>
<p>Yukarıdaki kod ile eklentimizi tamamlamış olduk, bu eklenti admin panelinin sağ üst kısmına Admin Naber? yazacaktır. AdminNaberCss fonksiyonu ise bizim AdminNaber fonksiyonu ile yazdırılan &lt;p&gt; tag’ı içinde tanımlı olan AdminNaberCSS’ini admin_head kancasına (hook) yazar.</p>
<p>Eklentiler için genellikle, ilgili eklentinin seçeneklerinin ayarlandığı bir ayar ekranı da olur. Bu ayarlama ekranı Admin / Yönetim panelindeki menülere alt menü olarak eklenir. Bir eklentiye alt menü oluşturmak için aşağıdaki gibi bir kod kullanılabilir;</p>
<pre class="brush: php; ">

&lt;?php
function menuEkle() {
add_submenu_page(&#039;options-general.php&#039;, &#039;Admin Naber?&#039;, &#039;Admin Naber?&#039;, 10, __FILE__, &#039;AdminNaberMenu&#039;);
}
add_action(&#039;admin_menu&#039;, &#039;menuEkle&#039;);
?&gt;
</pre>
<p>Yukarıdaki satır ile Ayarlar (Options) menüsüne 10 yetkisiyle (sistemdeki en üst düzey yetkidir) Admin Naber? adında bir alt menu oluşturulmuştur. Admin Naber? menüsü ise AdminNaberMenu fonksiyonunu kullanmaktadır. AdminNaberMenu fonksiyonu içerisinde, eklenti ile ilgili ayarlamaların kodu yer almalıdır. Örneğin;</p>
<pre class="brush: php; ">

&lt;?php
function AdminNaberMenu() {
// bu kısımda eklenti ile ilgili seçenekler yer almalıdır.

function AdminNaber() {
echo &quot;&lt;p id=&#039;adminnaber&#039;&gt;Admin Naber?&lt;/p&gt;&quot;;
}
add_action(&#039;admin_footer&#039;, &#039;AdminNaber&#039;);

function AdminNaberCss() {
echo &quot;
&lt;style type=&#039;text/css&#039;&gt;
#adminnedir {
position: absolute;
top: 2.3em;
margin: 0; padding: 0;
right: 1em;
font-size: 16px;
color: #f1f1f1;
}
&lt;/style&gt;
&quot;;
}
add_action(&#039;admin_head&#039;, &#039;AdminNaberCss&#039;);
}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/wordpress/wordpress-eklenti-yazarligi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Değişkenler ve Örnek</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-degiskenler-ve-ornek.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-degiskenler-ve-ornek.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 00:23:54 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Değişkenler]]></category>
		<category><![CDATA[Smarty Manual]]></category>
		<category><![CDATA[Smarty Variables]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=260</guid>
		<description><![CDATA[Değişkenler
Smarty Şablon Motoru değişkenleri $ (dolar işareti) ile başlar. Bunlar sayılara, harflere ve çizgilere kısaca bir PHP değişkenine çok benzer. Kütüğü sayısal olmayan ya da sayısal olan dizi değişkenleri de kullanabilirsiniz. Ayrıca nesnenin özellikleriyle ya da methodlarıyla oynayabilirsiniz de&#8230;

Config file variables are an exception to the $dollar syntax and are instead referenced with surrounding #hashmarks#, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /><strong>Değişkenler</strong></p>
<p><a href="http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty Şablon Motoru</a> değişkenleri $ (dolar işareti) ile başlar. Bunlar sayılara, harflere ve çizgilere kısaca bir <a href="http://noi.snowbattle.com/web-programlama/php">PHP</a> değişkenine çok benzer. Kütüğü sayısal olmayan ya da sayısal olan dizi değişkenleri de kullanabilirsiniz. Ayrıca nesnenin özellikleriyle ya da methodlarıyla oynayabilirsiniz de&#8230;</p>
<p><span id="more-260"></span></p>
<p>Config file variables are an exception to the $dollar syntax and are instead referenced with surrounding #hashmarks#, or via the $smarty.config variable. Config dosyası değişkenleri $ dolar sözdizimi yerine istisna bir biçime #hashmarks# şeklinde veya</p>
<p><strong>$smarty.config.degisken</strong></p>
<p>üzerinden tanımlanır.</p>
<p><strong>Değişkenler Örnekli Anlatım</strong></p>
<p><strong>{$berkant} </strong> &lt;&#8211; basit bir değişken (dizi olmayan / nesne) görüntüleniyor.</p>
<p><strong>{$berkant[4]} </strong> &lt;&#8211; berkant isimli sıfır-indexli dizi değişkeninin, 5. elemanını getirir.</p>
<p><strong>{$berkant.site} </strong> &lt;&#8211; berkant isimli değişkenin site isimli anahtarında barındırılan değeri getirir. Örnek vermek gerekirse PHP bu değişken şu şekilde tanımlanmıştır $berkant[site];</p>
<p><strong>{$berkant.$bilgi}</strong> &lt;&#8211; burada berkant değişkeninin $bilgi değişkeni değerindeki anahtarına başvuru yapılır. Örnek vermek gerekirse PHP&#8217;de $bilgi değişkenimizin değeri &#8220;site&#8221; olsun. $berkant[$bilgi] = $berkant[site]&#8216;dir.</p>
<p><strong>{$berkant-&gt;site} </strong> &lt;&#8211; burada berkant isimli nesnenin site özelliği ekranda gösterilir.</p>
<p><strong>{#berkant#} </strong> &lt;&#8211; burada smarty config (yapılandırma) dosyasında bulunan &#8220;berkant&#8221; sabit değişkeninin değeri getirilir.</p>
<p><strong>{$smarty.config.berkant}</strong> &lt;&#8211; burada {#berkant#} değişkeniyle aynı sonuç alınır. Kısaca bu başka bir yol.</p>
<p><strong>{$berkant[site]}</strong> &lt;&#8211; bu söz dizimi sadece loop döngüsünün bir bölümünde kullanılabilirdir.</p>
<p>Bunun yanı sıra pek çok kombinasyona izin verilir.</p>
<p><strong>{$berkant.site.adres}</strong></p>
<p><strong>{$berkant.$kisisel.$bilgi}</strong></p>
<p><strong>{$berkant[4].site}</strong></p>
<p><strong>{$berkant[4].$bilgi}</strong></p>
<p><strong>{$berkant.site.bilgi[4]}</strong></p>
<p><strong>{&#8221;berkant&#8221;} </strong> &lt;&#8211; statik değerler girebilir</p>
<p>{* server özelliklerini göstermek için bir örnek:   &#8220;SERVER_NAME&#8221; ($_SERVER['SERVER_NAME'])*}<strong></strong></p>
<p><strong>{$smarty.server.SERVER_NAME}</strong></p>
<p>$ _GET gibi $_SESSION vb istek değişkenleri $smarty değişkeni içinde saklıdır ve $smarty değişkeni üzerinden ulaşılabilir.<br />
Ayrıca ileriki yazılarımda $smarty, yapılandırma değişkenlerine atama ve atayıcı yazmayı da anlatacağım.</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-degiskenler-ve-ornek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Temel Sözdizimi</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-temel-sozdizimi.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-temel-sozdizimi.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:34:24 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Basic Syntax]]></category>
		<category><![CDATA[Smarty Comment]]></category>
		<category><![CDATA[Smarty Comments]]></category>
		<category><![CDATA[Smarty html_options]]></category>
		<category><![CDATA[Smarty include]]></category>
		<category><![CDATA[Smarty Manual]]></category>
		<category><![CDATA[Smarty Multiline Comments]]></category>
		<category><![CDATA[Smarty upper]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=251</guid>
		<description><![CDATA[
Tüm Smarty şablon etiketleri ayraç içinde içine alınır
Örnek 1:
{bu_bir_smarty_etiketidir}
Smarty Şablon Motoru varsayılanı budur ama isterseniz değiştirilebilirdir.
Bu yazımızdaki şablon etiketleri tanımlamak için { } kullanacağız. Smarty için bu tip kullanılmaktadır çünkü hemen hemen hiç bir dil bu etiket sistemini kullanmaz. Smarty şablon etiketleriyle ne zaman karşılaşırsa, bunları yorumlamak ister ve bu girişlerin yerine atanan değerlere uygun [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /></p>
<p>Tüm <a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> şablon etiketleri ayraç içinde içine alınır</p>
<p><strong>Örnek 1:</strong></p>
<p><strong>{</strong>bu_bir_smarty_etiketidir<strong>}</strong><br />
<a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty Şablon Motoru</a> varsayılanı budur ama isterseniz değiştirilebilirdir.</p>
<p>Bu yazımızdaki şablon etiketleri tanımlamak için<strong> { } </strong>kullanacağız. <a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> için bu tip kullanılmaktadır çünkü hemen hemen hiç bir dil bu etiket sistemini kullanmaz. <a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> şablon etiketleriyle ne zaman karşılaşırsa, bunları yorumlamak ister ve bu girişlerin yerine atanan değerlere uygun bir çıktı görüntüler.</p>
<p><span id="more-251"></span></p>
<p><strong>Yorumlar (Comments)</strong></p>
<p><a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty&#8217;</a>nin kendine has bir yorum tipi vardır.</p>
<p><strong>Örnek 2:</strong></p>
<p>{* Bu bir yorumdur *}</p>
<p><a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty</a> bu stili &lt;!&#8211; HTML Yorum &#8211;&gt; şeklinde kullanılan yorumlara alternatif olarak geliştirmemiştir. Bunun yerine kendi tema sayfaları içerisinde ilgililer için yorum olması amacıyla bu yorum stili geliştirmiştir. Yukarıdaki örneği baz alırsak, web sitemizin kaynağı görüntüleyen ziyaretçileri için yorumlarınız &lt;!&#8211; Bu bir yorumdur &#8211;&gt; olarak görünmeyecektir.</p>
<p><strong>Şablon içinde yorumlar</strong></p>
<p><strong>Örnek 3:</strong></p>
<pre class="brush: html; ">

{* Benim adım Smarty yorumu ve ben, derlenmiş çıktılarda görüntülenmem *}
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;{$title}&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
{* Başka bir tek satırlık Smarty Yorumu *}
&lt;!-- Bana HTML açıklama ya da yorumu diyebilirsiniz, Smarty sadece kaynak kodlarında gözükmem için beni tarayıcıya gönderir. --&gt;
{*
Bu satır
Multi Smarty Yorumu
içindir.
*}
{*********************************************************
Çok Satırlı Açıklama Bloğu
@ yazar:         Berkant AYDIN - SnowBattle
@ destek:     Berkant AYDIN - SnowBattle
@ css:            Berkant AYDIN - SnowBattle
**********************************************************}

{* Aşağıdaki header (başlık dosyasıdır) *}
{include file=&#039;header.tpl&#039;}
{* Geliştirici dikkatine: $includeFile dosyası menu.php sayfasından dahil olmakta ve sayfanın smarty etiketlerin tanımları oradan gönderilmektedir. *}
&lt;!-- Ana içerik --&gt;
{include file=$includeFile}
{* &lt;select&gt; etiketine gerek yoktur *}
{*
&lt;select name=&quot;sirket&quot;&gt;
{html_options options=$degerler selected=$secili_id}
&lt;/select&gt;
*}
&lt;!-- Smarty için tanımlanmış affiliate etiketinin tüm harflerini büyült ve öyle göster --&gt;
{* $affiliate|upper *}
{* Şayet &lt;select&gt; seçili olmadığı hallerde bir değişken tanımlamak isteseydik:
&lt;select name=&quot;company&quot;&gt;
{* &lt;option value=&quot;0&quot;&gt;-- Seçilmemiş -- &lt;/option&gt; *}
{html_options options=$degerler selected=$secili_id}
&lt;/select&gt;*}
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-temel-sozdizimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty Genişletilmiş Kurulum ve Örnek</title>
		<link>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-genisletilmis-kurulum-ve-ornek.html</link>
		<comments>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-genisletilmis-kurulum-ve-ornek.html#comments</comments>
		<pubDate>Tue, 27 Oct 2009 23:29:12 +0000</pubDate>
		<dc:creator>Berkant Aydin</dc:creator>
				<category><![CDATA[Smarty]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP MVC]]></category>
		<category><![CDATA[PHP Şablon Motoru]]></category>
		<category><![CDATA[Şablon Motoru]]></category>
		<category><![CDATA[Smarty Extended Setup]]></category>
		<category><![CDATA[Smarty Manual]]></category>

		<guid isPermaLink="false">http://noi.snowbattle.com/?p=247</guid>
		<description><![CDATA[
Bu yazı, Smarty Temel Kurulum&#8216;un devamı niteliğindedir.
Bu yazıda Smarty Sınıfı&#8216;nı ihtiyaçlarımız doğrultusunda geliştireceğiz.

Örnek üzerinden devam edelim;
/php/includes/ZiyaretciDefteri/ şeklinde bir dizin oluşturalım ve bu dizinden setup.php dosyasını çağıralım.
setup.php dosyasının içeriği;


&#60;?php

// Smarty Kütüphanesini Çağırıyoruz.
require(&#039;Smarty.class.php&#039;);

// setup.php için güzel bir yer ayarlayın
// Smarty Kütüphanesi&#039;nden yararlanabileceğiniz bir yer olsun
//  Mesela şöyle olabilir;
// require(&#039;ZiyaretciDefteri/ZiyaretciDefteri.lib.php&#039;);

class Smarty_ZiyaretciDefteri extends Smarty {

function Smarty_ZiyaretciDefteri()
{

// Sınıf Oluşturucu
// Otomatik [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-148" title="smartyorangelogo.gif" src="http://noi.snowbattle.com/wp-content/uploads/2009/10/smartyorangelogo1.gif" alt="smartyorangelogo.gif" width="216" height="77" /></p>
<p>Bu yazı, <a href="http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-temel-kurulum-ve-ornek.html" target="_blank">Smarty Temel Kurulum</a>&#8216;un devamı niteliğindedir.</p>
<p>Bu yazıda <a href="http://noi.snowbattle.com/category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty Sınıfı</a>&#8216;nı ihtiyaçlarımız doğrultusunda geliştireceğiz.</p>
<p><span id="more-247"></span></p>
<p>Örnek üzerinden devam edelim;<br />
<strong>/php/includes/ZiyaretciDefteri</strong><strong>/</strong> şeklinde bir dizin oluşturalım ve bu dizinden <strong>setup.php</strong> dosyasını çağıralım.</p>
<p><strong>setup.php</strong> dosyasının içeriği;</p>
<pre class="brush: php; ">

&lt;?php

// Smarty Kütüphanesini Çağırıyoruz.
require(&#039;Smarty.class.php&#039;);

// setup.php için güzel bir yer ayarlayın
// Smarty Kütüphanesi&#039;nden yararlanabileceğiniz bir yer olsun
//  Mesela şöyle olabilir;
// require(&#039;ZiyaretciDefteri/ZiyaretciDefteri.lib.php&#039;);

class Smarty_ZiyaretciDefteri extends Smarty {

function Smarty_ZiyaretciDefteri()
{

// Sınıf Oluşturucu
// Otomatik olarak yeni ayarlarımızı ekliyoruz.

$this-&gt;Smarty();

$this-&gt;template_dir = &#039;/web/noi.snowbattle.com/ZiyaretciDefteri/templates/&#039;;
$this-&gt;compile_dir  = &#039;/web/noi.snowbattle.com/ZiyaretciDefteri/templates_c/&#039;;
$this-&gt;config_dir   = &#039;/web/noi.snowbattle.com/ZiyaretciDefteri/configs/&#039;;
$this-&gt;cache_dir    = &#039;/web/noi.snowbattle.com/ZiyaretciDefteri/cache/&#039;;

$this-&gt;caching = true;
$this-&gt;assign(&#039;app_name&#039;, &#039;Ziyaretçi Defteri&#039;);
}

}
?&gt;
</pre>
<p>Şimdi de <strong>setup.php</strong>&#8216;yi kullanacağımız <strong>index.php </strong>dosyamızı hazırlıyoruz.</p>
<p><strong>index.php</strong> içeriği;</p>
<pre class="brush: php; ">

&lt;?php

require( &#039;ZiyaretciDefteri/setup.php&#039; );

$smarty = new Smarty_ZiyaretciDefteri ();

$smarty -&gt; assign ( &#039;isim&#039; , &#039;Berkant AYDIN - SnowBattle&#039; );

$smarty -&gt; display ( &#039;index.tpl&#039; );
?&gt;
</pre>
<p>Artık <a href="../category/web-programlama/php/smarty-php-web-programlama" target="_blank">Smarty Sınıfı</a>&#8216;ını sayfalarınıza dahil etmek yerine Smarty_ZiyaretciDefteri sınıfını sayfalarınıza dahil etmeniz yeterli. <a href="Smarty Sınıfı" target="_blank">Smarty</a>&#8216;i çağırmak da dahil olmak üzere, O gerisini halledecektir.</p>
]]></content:encoded>
			<wfw:commentRss>http://noi.snowbattle.com/web-programlama/php/smarty-php-web-programlama/smarty-genisletilmis-kurulum-ve-ornek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
