Beyaz.Net İpucu

Smarty fonksiyon kullanma

smarty code yazılımında kendi yazdığımız bir fonksiyonu kullanmak için, smarty i kurduğumuz root dizininde pages klasoru içindeki çağıracağımız php sayfaya fonksiyonumuzu ekliyoruz. Yine bu sayfa içerisinde fonksiyonumuzu kullanıp bir değere atıyoruz.

Sonrasında templates klasoru içinde kullandığımız sayfada bu değeri {} işaretleri arasında yazıyoruz. Örnek :


pages/news.php

function UrlSeo($phrase)
    {
        $result = $phrase;
        $result = str_replace('İ', 'I', $result);
        $result = str_replace('Ü', 'U', $result);
        $result = str_replace('Ç', 'C', $result);  
        $result = str_replace('Ğ', 'G', $result);      
        $result = str_replace('Ş', 'S', $result);          
        $result = str_replace('Ö', 'O', $result);  
       
        $result = str_replace('İ', 'i', $result);
        $result = str_replace('Ü', 'u', $result);
        $result = str_replace('Ç', 'c', $result);  
        $result = str_replace('Ğ', 'g', $result);      
        $result = str_replace('Ş', 's', $result);          
        $result = str_replace('Ç', 'c', $result);          
        $result = str_replace('Ö', 'o', $result);              
      
        $result = str_replace('ı', 'i', $result);  
        $result = str_replace('ü', 'u', $result);
        $result = str_replace('ç', 'c', $result);  
        $result = str_replace('ğ', 'g', $result);      
        $result = str_replace('ş', 's', $result);          
        $result = str_replace('ç', 'c', $result);          
        $result = str_replace('ö', 'o', $result);   
        $result = strtolower($result);
                  
   
        $result = preg_replace("/[^a-z0-9\s-]/", "", $result);
        $result = trim(preg_replace("/\s+/", " ", $result));
        $result = trim(substr($result, 0, 45));
        $result = preg_replace("/\s/", "-", $result);
   
        return $result;
    }


news.php sayfasında değerleri gönderdiğimiz alanın bir üst satırında haberleri çektiği alan yer almaktadır. O satırın altında çektiği verileri bir değere atalım.

$html = '';
        foreach ($items as $item)
        {
            $html .= "<h1 style='font-size:1.5em;' class='haberlerbaslik'><a class='haberlerbaslik' href='".UrlSeo($item->baslik_tr)."-".$item->id."-haber'>".$item->baslik_tr."</a></h1><div><p>".$item->ozet_tr."</p></div><hr />";
        }
   
Değeri de .tpl sayfasına gönderelim.

       $theme->assign('html', $html);



templates/home/news.tpl sayfasında da o değeri çağıralım.

{$html}
Bu örnekte seo ya uygun  link oluştururken link formatında oluşturmaya çalıştık.

Kategorideki Güncel Makaleler