PDA

View Full Version : ایجاد یک Template



lady64
جمعه 28 بهمن 1390, 19:03 عصر
میخوام بدونم درست ترین و بهترین راه برای داشتن یک templet و استفاده از اون در صفحات مختلف فقط با روش require صورت میگیره؟
یعنی باید یک صفحه ی templet ساخت و بعد مثلا در قسمت center از جدول (روش قدیمی) صفحات مختلف رو با شرط چک کرد و require کرد؟
من یک پروژه ی قشنگ از یه مربی دیدم که اینکار رو نکرده بود .گویا یک فایل با پسوند dwt بعنوان الگو ساخته بود و در صفحات دیگه کدهای صفحه ی templet بصورتی که غیر قابل ویرایش باشه ، آورده شده بود.
از این کد هم در صفحات زیاد استفاده شده که نمیدونم چیه!!!:متفکر:

><!-- InstanceBegin template="/Templates/temm.dwt.php" codeOutsideHTMLIsLocked="false" -->


میخوام یک پروژه ی سبک شروع کنم ولی در ابتدای راه موندم:ناراحت:.روش require رو دوست ندارم.اگه میشه یک روش بهتر پیشنهاد بشه.یه چیزیه مثل master page در asp:لبخندساده:

MMSHFE
شنبه 29 بهمن 1390, 08:50 صبح
دوست عزیز، برای این کار از موتورهای ساخت قالب استفاده میکنن. البته خودتون هم میتونید موتور دلخواه رو بسازید. یکی از بهترین موتورهای قالب، Smarty (http://www.smarty.net) هست. یکی از دوستان (http://barnamenevis.org/member.php?147061-ravand) هم توی همین انجمن در این تاپیک (http://barnamenevis.org/showthread.php?319805-%D9%85%D8%B4%D9%83%D9%84-%D8%AA%D9%83%D8%B1%D8%A7%D8%B1-%D8%B4%D8%AF%D9%86-%D9%83%D9%84-%D9%82%D8%A7%D9%84%D8%A8) یک نمونه درست کرده بود. موفق باشید.

lady64
شنبه 29 بهمن 1390, 11:42 صبح
ممنون آقای شهرکی.حرفم رو پس میگیرم و یه روش ساده تر میخوام.چون خوب متوجه کدها نشدم.
من یه صفحه templet.php دارم و طراحی اصلیم اونه.فقط میخوام بدونم برای این که این صفحه base همه ی صفحات دیگرم باشه میبایست صفحات دیگرو اینجا requre کنم؟

به این صورت در صفحه ی templet.php چند صفحه ی دیگه فراخوانی میشه.درست و منطقیه؟


<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table width="1104" height="415" border="1">
<tr>
<td>baneeer</td>
</tr>
<tr>
<td height="23">menu</td>
</tr>
<tr>
<td height="254">
<?php if($_GET['page']==1) require("contact.php");
if($_GET['page']==2) require("index.php");
if($_GET['manage']==3) require("manage.php");
?> </td>
</tr>
</table>
</body>
</html>

MMSHFE
شنبه 29 بهمن 1390, 19:16 عصر
تقریباً درسته. البته برعکس هم میشه کار کرد، به این شکل که هدر و فوتر و... رو توی فایلهای جداگانه بگذارین و توی همه صفحات دیگه، در قسمتهای مناسب اونها رو require کنید. موفق باشید.

mosi2007
یک شنبه 30 بهمن 1390, 00:03 صبح
سلام دوستان
مننم به تازگی یک فایل اموزشی ویدیویی را دیدم که اونم از همین روش استفاده کرده بود یعنی اول یه صفحه سساخته بود که طراحی اصلی تو اون بود و بقیه صفحه ها فقط متن بود و با یه include و شرط if اونا رو می اورد تو همین صفحه اصلی و اسم فایل اموزشیش هم صفحات داینامیک بود درسو خوب فهمیدم ولی نمیدونم که
1=کجاها باید از این روش استفاده کرد؟
2= ایا تو سایتهای cms مرسومه که از این روش استفاده کرد؟
3=اگه میشه یه سایتی که از این روش استفاده کرده رو لینکشو بدید؟

MMSHFE
یک شنبه 30 بهمن 1390, 11:00 صبح
1- هر جا نیاز به قالب یکسان در صفحات داشتین میتونید از این تکنیک استفاده کنید. درواقع بستگی به خلاقیت خودتون داره.
2- بله رسم بر اینه که ساختار کاملاً مشخص باشه. البته اینکه قسمتهای ثابت صفحه توی فایلهای جداگانه باشن و در جاهای مناسب فراخوانی بشن یا اینکه کلاً یک صفحه باشه و بخش پویا رو برحسب ورودیها فراخوانی بکنه، بستگی به طراح سایت داره.
3- خیلی سایتها اینکار رو میکنن. مثل Google و Facebook و از سایتهای ایرانی Cloob و Barnamenevis و...
کلاً سایتهایی که ساختار صفحاتشون مرتب هست و قالب یکپارچه ای دارن، از این روش استفاده میکنن. اصلاً اگه اینطور نباشه که دیگه اسمش قالب نیست. طبیعتاً نمیشه برای سایتهایی هم که این روشها رو بکار نمیبرن، قالبهای مختلف طراحی کرد.
موفق باشید.