PDA

View Full Version : سوال: چگونگی استفاده از اسمارتی ( smarty )



samsami
سه شنبه 05 آذر 1392, 07:41 صبح
با سلام خدمت دوستان

من پی اچ پی کامل وارد هستم و خیلی دوست دارم بهراه پی اچ پی از اسمارتی استفاده کنم ...

چگونه می توانم شروع کنم ...

از دوستان کسی آموزش ویدیوئی ، کتاب ، معرفی سایت های خوب ، سراغ داره اعلام کنه ...

ممنون میشم از پاسختون ...

Veteran
سه شنبه 05 آذر 1392, 08:32 صبح
فایل پیوست شده رو دانلود کنید/یک فولدر هست به اسم smarty،اونرو در ریشه سایت کپی کنید
خب حالا دو فولدر دیگه به اسم templates_c,templates بسازید
فولدر templates برای قرار گیری فایل های اسمارتی مورد استفاده قرار میگیره،فولدر دیگری برای فایل های هست که در نهایت توسط انجین اسمارتی کامپایل و به کاربر نمایش داده میشه که ما کاری به محتویاتش نداریم
یک فایل index.php بسازین
حالا نیاز داریم انجین اسمارتی رو صدا بزنیم/یک فایل در فولدر اسمارتی هست که کافیه ما اونرو به صفحه اضاف کنیم


require_once 'smarty/Smarty.class.php';
بعدش باید برای کار با اسمارتی یک سری تنظیمات انجام بدیم
خب نیاز داریم که یک نمونه از کلاس اسمارتی ایجاد کنیم
و بعد مسیر فایل های اسمارتی و همچنین مسیر فایل های که بعد از کامپایل شدن باید در اونجا قرار بگیرن رو مشخص میکنیم


require_once 'smarty/Smarty.class.php';
$index=new Smarty();
$index->template_dir='templates';
$index->compile_dir='templates_c';

بعد یک فایل template در پوشه مربوط به اون میسازیم/مثلا به اسم index.tpl
حالا برای تعریف کردن متغیر از متد assign استفاده میکنیم
$
index->assign('body','Samrty template engine');بعدش باید فایل template رو صدا بزنیم

$index->display('index.tpl')برای نمایش متغیر های تعریف شده هم باید اونها در فایل template بین {} قرار بدیم
===
index.php


<?php
require_once 'smarty/Smarty.class.php';
$index=new Smarty();
$index->template_dir='templates';
$index->compile_dir='templates_c';
$index->assign('title','Samrty template engine');
$index->assign('body','Samrty template engine');
$index->display('index.tpl')
?>

index.tpl

<html>
<head>
<title>{$title}</title>
</head>
<body>
{$body}
</body>
</html>اینم یک نمونه از حلقه ها و شرط ها



<?php
require_once 'smarty/Smarty.class.php';
$index=new Smarty();
$index->template_dir='templates';
$index->compile_dir='templates_c';
$index->assign('Array',array(1,2,3,4,5,6,7,8,9));
$index->assign('Condition',true);
$index->display('index.tpl')
?>


<html>
<head>
<title></title>
</head>
<body>
{*foeach syntax*}
{foreach $Array as $value}
{$value}<br>
{/foreach}

{*if syntax*}
{if $Condition=='true'}
Condition is true
{else}
Condition is false
{/if}
</body>
</html>
[/HTML]