آموزش اسمارتی : اولین اسمارتی خود را بنویسید !

bahy_my

Active Member
سلام
اسمارتی رو نصب کنید.. یعنی :
فایل ها و پوشه های به پوشه ی libs اون رو به پوشه ی وبتون کپی کنید.
smarty.php.net
حالا اولین انجین خودتون ر و میتونید بنویسید :
ابدا ما فایل ها رو توی پوشه ای به نام tt در شاخه ی اصلی کپی می کنیم.حالا سه پوشه به نام های configs,templates_c,templates درست میکنیم و از اونا برای ذخریه ی فایل تمپلیت و سایر کارهایی که خود اسمارتی انجام می ده استفاده می کنیم.
حالا توی فایل php خودتون کدهای زیر رو بنویسید :
PHP:
<?php

define("SMARTY_DIR","tt/");
require(SMARTY_DIR.'Smarty.class.php');

$smarty = new Smarty;
$smarty->template_dir='templates';
$smarty->compile_dir='templates_c';
$smarty->config_dir='configs';
$smarty->assign('name','Bahman');
$smarty->assign('family','Sharafi');
$smarty->assign('mail','[email protected]');
$smarty->assign('city','Boroujerd');
$smarty->assign('country','Iran');






// show index page
$smarty->display('index.tpl');
// finish showing page
?>

در ابتدای کد ما یک شی ایجاد می کنیم.
این شی که از کلاس Smarty (به اندازه حروف توجه کنید) که از فایل های smarty فراخوانی میشه, تعریف شده به ما اجازه ی کارکردن با اسمارتی رو میده.
با تابع assign می تونیم متغیرهای تمپلیت رو ایجاد کنیم.
چنان که در اینجا متغیر mail با مقدار [email protected] ایجاد شده و متغیر های دیگه.
این متغیر ها درون فایل تمپلیت با نام $VAR قابل دسترسی هستند.
با نوشتن $smarty->template_dir=\'templates\'; برنامه متوجه میشه که برای دریافت تمپلیت های به کدوم شاخه مراجعه کنه.

برای همینه که ما برای نمایش index.tpl اسم شاخه رو نمی نویسیم.
حالا می ریم سراغ فایل های داخل پوشه ی templates
index.tpl :
HTML:
{include file="head.tpl" }
<table width="500" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td width="29">&nbsp;</td>
    <td width="457">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td> Hello <b>{$name}</b>, How are you ? </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td> Family : <b>{$family}</b></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td> Your mail : <b>{$mail}</b></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td> City : <b>{$city}</b></td>
  </tr>
  
  <tr>
    <td>&nbsp;</td>
    <td> You are from : <b>{$country}</b></td>
  </tr>
</table>
{include file="foot.tpl" }
توابع در اسمارتی (ببخشید ... هر کدی !) درون علامت },{ قرار می گیره.
تابع include همون کاربرد تابع include رو در php داره.

head.tpl :

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>First template engine</title>
</head>

<body>
<link href="templates/css.css" rel="stylesheet" type="text/css" />
و foot.tpl :
HTML:
</body>
</html>

..... موفق باشید !



منبع : مهرآرین - لینک مطلب
 
آخرین ویرایش:

bahy_my

Active Member
خواهش می کنم.
چشم
واقعاً باورم نمیشد استقبال کنید.
خدا بخواد حتماً بیشتر در خدمتتون هستم.
راستی
همینور که متوجه شدین کدها دارای / های اضافی بودن.
درستشون می کنم.
شرمنده
 

ali712k

New Member
خیلی خوبه اگه بدون وقفه به آموزش smarty ادامه بدید
ممنون:D
 

mohsenshahab

Active Member
ببخشین میخوام یه سوال خنده دار بپرسم
این اسمارتی چی چی هست ؟
میشه یه توضیح کوچیک در موردش بدین؟؟
 

ali712k

New Member
در يک جمله می توان گفت برای جدا کردن منطق برنامه از نحوه ارائه!
می توان به اين هدف درست يافت به ترتيبی که برنامه نويس در گير ارائه و طراح رابط کاربر درگير کار برنامه Templating Engine با استفاده از يک
نويس نشوند و با يک زبان مشترک باهم تعامل خواند داشت. به اين ترتيب برنامه نويس خيلی راح می تواند منطق برنامهرا عوض کند بدون اينکه در گير ارائه
شود و طراح نيز می تواند بدون کمک برنامه نويس شکل و شمايل يک سايت را کاملاً عوض کند.
اين چند جمله بايد تا حدی برای شما روشن کرده باشد که با استفاده از اين روش تا چه حد انعطاف در کار بوجود می آيد. جالب نيست؟!
 

جدیدترین ارسال ها

بالا