• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش 1 - اسمارتی به عنوان موتور تمپلت در ci
#1
سلام من اینو با توجه به فایل آموزشی اول نوشتم
اگه ایرادی داشت یا خواستین تغییر نام پیدا کنه دست محمد رو می بوسه
در این مقاله ما یاد می گیریم که چگونه smarty را به عنوان یک template engine در فریم ورک ci استفاده کنیم

اما اسمارتی چیست
نقل قول:Smarty یک موتور هوشمند برای قالب سازی پیشرفته جهت سایت است.
Smarty با امکان جداکردن فرمت یا قالب نمایش از منطق برنامه که با زبان PHP نوشته شده است، شما را قادر خواهد ساخت که به شکلی راحتتر سایت خود را جهت نمایش یا منطق برنامه گسترش دهید. و سایت شما جهت تغییرات از انعطاف پذیری بیشتری برخوردار خواهد بود.حتی با استفاده از این تکنولوژی شما می توانید قسمت نمایش را خودتان انجام دهید و قسمت نوشتن منطق برنامه را به دیگری بسپارید. درحقیقت اگر شما برنامه نویسی PHP را میدانید می توانید به راحتی با استفاده از ماژول های Smarty این قابلیت ها را به سایت خود اضافه نمایید. این تکنولوژی در وب از سرعت زیادی برخوردار است و کدهای HTML نوشته شده برای فرمت سایت را به سرعت به کدهای PHP کامپایل میکند . اینکار فقط یکبار انجام می شود و در صورت هرگونه تغییر مجدد در کد نمایش ، Smarty تنها تغییرات ایجاد شده را کامپایل میکند.
جهت استفاده smarty تنها باید از تگهای {}, {{}}, <!--{}-->, {}, {{}}, <!--{}-->, غیره استفاده نمایید.

چگونگی ادغام
بعد از دانلود اسمارتی (اینجا)
اون رو در پوشه aplication /library کپی کنید
همچنین فایل mysmqrty.php رو هم در پوشه aplication /library کپی کنید

حالا در پوشه config فایل autoload رو باز کنید و mysmarty رو به خط 41 اضافه کنید
کد پی‌اچ‌پی:
$autoload['libraries'] = array('database''mysmarty'); 
با این کار شما به ci میگید که به صورت خودکار کتابخانه mysmarty رو لود کنه
حالا فایل welcome.php رو در پوشه controller باز کنید
و این کد رو بنویسید
کد پی‌اچ‌پی:
class Welcome extends Controller {

    function 
Welcome()
    {
        
parent::Controller();
        
//$this->output->enable_profiler(TRUE);    
        //$this->load->library('mysmarty');
    
}
    
    function 
index()
    {
        
$this->load->view('welcome_message');
    }    
    
    function 
smarty()
    {
        
$this->mysmarty->assign('test''Hello World.');
        
$this->mysmarty->view('smarty');
    }

حالا به پوشه views برین و یه فایل به نام smarty.tpl بسازید و خط زیر رو به اون اضافه کنید
کد پی‌اچ‌پی:
{$test} <br />
Def: {$def|default:'n/a'

توجه کنید که ما توسط تابع assignمقادیر رو به فایل smarty.tpl میفرستیم و در اونجا اونها رو میگیره و چاپ میکنه
یعنی وقتی ما در controller می گیم
mysmarty->assign('test', 'Hello World.');
و در فایل smarty.tpl بنویسیم
{test$} چاپ می شود Hello World.

نکته آخر اینکه اگر ما در مرورگرمون بنویسیم
http://localhost/codeigniter/index.php/welcome
همون فایل wel come پیش فرض رو می بینیم
اما اگر بنویسیم
http://localhost/codeigniter/index.php/welcome/smarty
تغیراتی که انجام دادیم رو مشاهده میکنیم
اینم فایل نهایی
http://slavi.biz/downloads/code-igniter/...arty-2.zip
  پاسخ
تشکر شده توسط : hidensoft behrooz_heyhu
#2
بسیار عالی..Heart
  پاسخ
تشکر شده توسط : scooter


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان