/
  • آموزش 1 - اسمارتی به عنوان موتور تمپلت در ci

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی آموزش 1 - اسمارتی به عنوان موتور تمپلت در ci
    نویسنده پیام
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #1
    آموزش 1 - اسمارتی به عنوان موتور تمپلت در ci
    سلام من اینو با توجه به فایل آموزشی اول نوشتم
    اگه ایرادی داشت یا خواستین تغییر نام پیدا کنه دست محمد رو می بوسه
    در این مقاله ما یاد می گیریم که چگونه smarty را به عنوان یک template engine در فریم ورک ci استفاده کنیم

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

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

    حالا در پوشه config فایل autoload رو باز کنید و mysmarty رو به خط 41 اضافه کنید
    کد PHP:
    $autoload['libraries'] = array('database''mysmarty'); 
    با این کار شما به ci میگید که به صورت خودکار کتابخانه mysmarty رو لود کنه
    حالا فایل welcome.php رو در پوشه controller باز کنید
    و این کد رو بنویسید
    کد PHP:
    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 بسازید و خط زیر رو به اون اضافه کنید
    کد PHP:
    {$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
    __________________________________________________________________________
    welcome to the club
    (آخرین ویرایش در این ارسال: ۱۳۸۹ ارديبهشت ۶ ۰۴:۳۰ عصر، توسط scooter.)
    ۱۳۸۹ ارديبهشت ۶ ۰۴:۲۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : hidensoft behrooz_heyhu
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,385
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1395 تشکر در 782 ارسال )
    ارسال: #2
    RE: آموزش 1 - اسمارتی به عنوان موتور تمپلت در ci
    بسیار عالی..Heart
    ۱۳۸۹ ارديبهشت ۶ ۰۶:۲۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : scooter
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS