اسمارتی(Smarty) - از آغاز تا پایان

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

پیوست ها

  • Smarty.zip
    99.3 کیلوبایت · بازدیدها: 56

hidensoft

Member
خوب من میخوام بدونم که اگه بخوام سطوح دسترسی رو تعریف کنم چطوری میتونم به دایرکتوری conf دسترسی داشته باشم؟
یه مقدار واضح نبود.
بعدش هم مگه وقتی وارد پوشه دمو برنامه بریم نباید خروجی تولید کنه؟
اگه سطح دسترسی پوشه template_c ، رو 777 نکنید ، نه !
آقا من در یک کتاب خوندم که برای اینکه امکان نوشتن اطلاعات در شاخه های compile_dir و cache_dir فراهم بشه باید برای اسمارتی دسترسی نوشتن فعال بشه.باید در مسیر /user/local/apachi/conf/ فایلی با نام httod.conf رو ویرایش کنیم .خوب دسترسی به این فایل تا جایی که من میدونم مجاز نیست ؟
لطفا منوال خود اسمارتی رو مطالعه بفرمائیید ، قابل اطمینان تر هستند .
 

hidensoft

Member
در ضمن برای اینکه مطمئن بشید اسمارتی کار می کنه ، می تونی اینو ببینی
www.blog.m-niknam.com
وبلاگ خودم هست که روی فریم ورکی که نوشتم راه اندازی شده ، View کاملا با اسمارتی هست.
موفق باشید.
 
به نام او::
جدی جدی تشکر میکنم از راهنمایی های شما.

کتابی از انتشارات ناقوس برای اسمارتی تهیه کردم با عنوان راهنمای اسمارتی برای کاربران php .
در این کتاب در صفحات 25 و 26 صحبتهایی در مورد اینکه باید تغییراتی رو در بعضی از فایلها انجام بدیم .مثلا دستورات زیر رو نوشته که ::

/user/local/lib/php/smarty-v.e.r/libs/internals/*.php
/web/www.exmaple.com/docs/guestbook/template_c

یا ثلا گفته که در مسیر زیر::
/user/local/apache/conf/
به فایل httod.conf مراجعه کنید و تغییراتی رو در اون اعمال کنید.این تغیرات برای این هست که امکان نوشتن اطلاعات در شاخه های زیر فراهم بشه::
$compile_dir & $cache_dir

دستورات هم به شکل زیر بود::

chown nobody:nobody /web/www.sait.com/smarty/cache
chmode 770 /web/www.sait.com/smarty/cache

خوب منظور من از اینکه گفته بودم باید چطور تغییرات رو اعمال بکنم به این بود که این فایل hhtod.conf غیر قابل دسترسی هستش!

اگه اشتباه نکرده باشم این تغییراتی هست که مربوط میشه به کسی که سرور رو کنترل میکنه نه منی که هاست تهیه کردم!

و سوال دیگر من...من از phpbb استفاده کردم.برای اون هم یادمه که هیچ نوع سطوح دسترسی با مقدار 777 رو در cp تعریف نکردم!پس چطور اون داره بدون مشکل از اسمارتی استفاده میکنه؟
 

NabiKAZ

Well-Known Member
به نام خدا::
من فایل رو پیوست میکنم تا ببینید.
کد شما بدون مشکل اجرا شد و خروجی اون کلمه "amir" بود.
الان مشکل چیه؟

شما گفتید phpbb از اسمارتی استفاده میکنه. من اینطور فکر نمیکنم. طبق چه سندی فرمودید؟

خیلی خودتون رو درگیر فایل .conf نکنید، از نظر من این فایل کاربرد زیادی نداره، حداقل من بهش احتیاج پیدا نکردم.
 

hidensoft

Member
و سوال دیگر من...من از phpbb استفاده کردم.برای اون هم یادمه که هیچ نوع سطوح دسترسی با مقدار 777 رو در cp تعریف نکردم!پس چطور اون داره بدون مشکل از اسمارتی استفاده میکنه؟
PHPbb از موتور قالبی که خودش ساخته استفاده می کنه . اما اینکه هیچ مشکلی پیش نیومده دلیل این نیست که نیازی به دسترسی 777 نیست. شما اگه توی همون PHPbb اجازه آپلود فایل بدید ، هنگام اپلود اگر دسترسی اون پوشه آپلود 777 نباشه 100% به مشکل بر می خورید و فایل آپلود نمی شه !
خیلی خودتون رو درگیر فایل .conf نکنید، از نظر من این فایل کاربرد زیادی نداره، حداقل من بهش احتیاج پیدا نکردم.
کارایی فایل های conf در اسمارتی در منوال اون به طور کامل توضیح داده شده ، بطور مثال من توی وبلاگم برای نمایش ارور ها از فایل conf استفاده کردم ، همینطور در نمایش یک سری مطالب که استاتیک هستند و احتمال تغییرشون خیلی پایینه ، توصیه می کنم استفاده کنید.
 

az_me

New Member
سلام دوستان
من از سایت اسمارتی ؛ فايلهاي اسمارتي رو دانلود کردم اما نميدونم بايد کجا بريزمشون (کپي کنم) اگه ميشه بهم بگين بايد کجا
بذارمشون.
در ضمن من از پکیج عرفان سرور و ای بی سرور استفاده می کنم .
و پی اچ پی رو به طور دستی نصب نکردم.
برای کار با اسمارتی باید حتما دستی پی اچ پی رو باید نصب کنم؟؟
ممنون
 

alireza82

Well-Known Member
سلام دوستان
من از سایت اسمارتی ؛ فايلهاي اسمارتي رو دانلود کردم اما نميدونم بايد کجا بريزمشون (کپي کنم) اگه ميشه بهم بگين بايد کجا
بذارمشون.
در ضمن من از پکیج عرفان سرور و ای بی سرور استفاده می کنم .
و پی اچ پی رو به طور دستی نصب نکردم.
برای کار با اسمارتی باید حتما دستی پی اچ پی رو باید نصب کنم؟؟
ممنون

هر جا دوست دارید!
شما فقط باید فایل smarty.class.php رو اینکلود و کانفیگ های لازم رو انجام بدید ، لازم به نصب چیزی نیست! (شاخه tpl ها و کش و ...)
فقط اینکلود و ایجاد شی اسمارتی ...
توجه شما رو به http://forum.majidonline.com/showpost.php?p=454907&postcount=1 هم جلب می کنم
موفق باشید
 
آخرین ویرایش:

Mds

Active Member
یه سوال ؟

سلام به همگی.

بچه ها من پیش از این اگر می خواستم با Smarty چیزی شبیه این درست کنم :

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>Test</title>
</head>

<body>

<table id="smart" width="100%" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

<table id="smart" width="100%" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

<table id="smart" width="100%" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

<table id="smart" width="100%" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

</body>
</html>
سه فایل درست می کردم : مثلا header.tpl table.tpl footer.tpl
HTML:
header.tpl
<!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>Test</title>
</head>

<body>
HTML:
table.tpl
<table id="smart" width="100%" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
HTML:
footer.tpl
</body>
</html>
بعد اول با dsiplay ، هدر رو نشون می دادم و بعد به تعداد دلخواه table.tpl رو تکرار می کردم و در آخر footer.tpl رو نشون میدادم.
می دونم بدترین راه ممکن هست ، اما من زیاد با Smarty آشنا نیستم .
می خواستم راه بهتری جلو پام بزارید ، لطفا با کد مثال بزنید.
ممنون
 

Mds

Active Member
یعنی سوال من این قدر مشگل هست که جواب نمی دین یا وقت ندارین ؟ :neutral:
 

Mds

Active Member
به به ، چه قدر جواب های مفیدی ، من همیشه می گم ، بچه های مجید آنلاین از همه فاروم ها فعال ترن
55.gif


بالاخره اینجا پرسیدم ، جواب گرفتم
45.gif
 

foranyone

Well-Known Member
3 تا فایل پلاگین جلالی رو داخل پوشه پلاگین بریزید

و برای نمایش تاریخ :

کد:
{$smarty.now|jdate_format:"%A %e %B %Y"}

من از این کدم استفاده کردم ولی احساس می کنم نیازی به این کار نیست :

کد:
$smarty -> plugins_dir = 'theme/libs/plugins/';
 

myfriends

New Member
با سلام ، یه سوالی داشتم
تو کد زیر exp_date از دیتابیس خونده میشه

PHP:
{$exp_date;}
{php}
echo date("Y-m-d") . "<br>";

$a = date("Y-m-d");
$b = $exp_date;

if($a > $b){
    echo "Expired";
}
{/php}

کد بصورت اسمارتی هست . تاریخ exp_date باید مقدار b ما بشه
چطور باید مقدار exp_date رو داخل b قرار بدیم ؟

ممنون میشم راهنمایی کنید :shy:
 
آخرین ویرایش:

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

بالا