İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

zor soru: smarty değişkenine php fonksiyonunu tpl içinde uygulamak ?

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
Smarty değişkenine ( {$degisken} gibi ) tpl içinde php de yazılmış bir fonksyionu uygulayıp yine tpl içine yazılmış gibi nasıl çıktı alabiliriz ?

get_template_vars {php} şeklinde kaçışlarda çalışmıyor. buyrun bakalım :)
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
hodo.html

HTML:
<!-- BEGIN: sayfa -->
<a href='{SAYFA.URL}'>{SAYFA.TITLE}</a>
<!-- END: sayfa -->



PHP:
$tema=hohoho("hodo.html");

$url="http://www.phpogreniyorum.info";
function title($q) {
 $kaynak=file_get_contents($q);
 $title='#<title>(.*?)</title>#si';
 preg_match($title,$kaynak,$tit);
 $tit=$tit[1];
 return strip_tags($tit);
}

 $array=(
     'URL'=>$url,
     'TITLE'=>title($url)
 );
 
 $tema->assign("SAYFA",$array); //Depolanan veriyi sayfa "{SAYFA.*}" yapısına atıyoruz.

 $tema->parse("sayfa"); //sayfa templatemizi basıyoruz <!-- BEGIN: sayfa
 $tema->out("sayfa"); //sayfa templatemizin çıktısını alıyoruz.
 

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
pek güzel,

pekii smarty plugin olarak modify function ekleyebiliyor muyuz libs içinden ?
 

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
heehee

kendi sorumun cevabını verince hakkaten iyi hissediyorum.

an itibariyle smarty nin neden php.net üstünden subdomaine sahip olduğunu idrak ettim. pear içindeki flexy falan iyidr diyenler kusura bakmasınlar. smarty plug in yapısı ve php fonksiyonu register mantığıyla bir harika.

şöyle,

Kod:
    // gerekli includelar yapıldı varsayalım
    // root adres adından belli.

    $sys =& new Smarty;
    $sys->template_dir = ROOT_ADRES.'codes/templates';
    $sys->compile_dir  = ROOT_ADRES.'libs/smarty/templates_c';
    $sys->config_dir   = ROOT_ADRES.'libs/smarty/config';
    $sys->cache_dir    = ROOT_ADRES.'libs/smarty/cache';
    $sys->caching      = false;
    
    $sys->register_function('linklestir', 'r_linklestir');
    
    function r_linklestir($ozellik, &$smarty)
    {
       return eregi_replace(" ","-",$ozellik['link']);
    }

buradaki r_linklestir php fonksiyonunun tpl içinde smarty değişkene etki etme şekli şöyle oluyor.

Kod:
   {linklestir link=$skey}

Linkimiz ekrana boşlukları - yapılmış halde yazılıyor. bir harika bu özellik. plug in özelliği, kendimizinde plugin yazabilmemiz falan ayrıca süper olmuş.

Asp de upload compenent lazım abi diyenler bunları biliyormu acep merak etmemek elde değil :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst