عرض مشاركة مفردة
 
  #1  
قديم 02-07-2006, 05:04 PM
alsaeqah alsaeqah غير متصل
عضو
 
تاريخ التسجيل: Apr 2006
مشاركة: 21
مستوى تقييم العضوية: 0
alsaeqah is on a distinguished road
الافتراضي [شرح هام] صمم موقعك بإستخدام نظام القوالب

بسم الله الرحمن الرحيم
المصدر : قرية الـ php

صمم موقعك بإستخدام نظام القوالب

مقدمة
يعلم الجميع وخصوصاً مطوري المواقع أهمية نظام القوالب والذي أنتشر انتشاراً واسعاً لما له من فوائد كثيرة . حيث يتم باستخدام هذه الطريقة فصل الشفرة البرنامج عن شفرة HTML بمعنى آخر فصل البرنامج عن التصميم . وهذا بدورة يسهل عملية تغيير التصميم بدون المساس بمحتوى الشفرة . وكذلك يسهل هذه العملية عما لو كان التصميم مدمج مع شفرة البرنامج .
لقد قرأت في هذا المنتدى موضوع عن كيفية استخدام القوالب في تصميم المواقع وقام بعض الأعضاء مشكورين بإفادة السائل واشاروا عليه بإستخدام كلاس خاص بهذه المهمة اسمه FastTemplate ، ولقد قمت شخصياً بتحميل هذا الكلاس ولكن لم استطع التعامل معه لتعقيده وبدأت بالبحث عن كلاسات أخرى ، حتى وجدت المطلوب وهو مجموعه تحتوي على ثلاث كلاسات أحدهم للتاريخ والآخر لإرسال البريد والثالث ( وهو موضوعنا هنا ) خاص بالقوالب .

أولاً قم بتحميل الملف بزيارة الموقع الخاص به بالضغط هنا ، اسم الملف vLIB_3-0-10.zip .
قم بفك ضغط الملفات بأي مجلد من اختيارك ، ستجد ملف بإسم vlibIni.php-dist قم بتغيير اسمه إلى vlibIni.php ، هذا الملف يحتوي على متغيرات خاصة بالقوالب وقيم إفتراضية لها ( لا تقم بتغيير أي من تلك المتغيرات ) .

الآن لنقم بتصميم موقع بسيط يحتوي على نظام القوالب :
1- انشئ مجلد جديد وليكن اسمه mysite .
2- انسخ المجلد الخاص بالمجموعه ( Vlib ) داخل هذا المجلد بحيث يصبح عنوانه mysite/vilb .
3- تأكد من ان المجلد السابق ( Vlib ) يحتوي على جميع المجلدات والملفات الخاصة بالمجموعه .
4- انشئ مجلد جديد داخل مجلد mysite لحفظ القوالب به وليكن اسمه templates .

إنشاء ملف القالب

سنقوم الآن بإنشاء القالب للصفحة الرئيسية :
1- انشئ ملف جديد بإسم mainpage.tbl ( يمكنك اختيار أي امتداد غير tbl ولكن يفضل استخدام الإمتداد اللذي تختاره لجميع ملفات القوالب حتى تتفادى المشاكل ) مع التأكد من حفظ الملف داخل المجلد templates .
2- ضع هذه الشفرة داخل ملف القالب :
كود:
 
<html dir=rtl> 
<head> 
<title><tmpl_var name='title'></title> 
</head> 
<body bgcolor="<tmpl_var name='bg'>"> 
<tmpl_var name='msg'> 
<table border="1"> 
<tr> 
<td>رقم المستخدم</td> 
<td>اسم المستخدم</td> 
</tr> 
<tmpl_loop name='loop1'> 
<tr> 
<td><tmpl_var name='userid'></td> 
<td><tmpl_var name='username'></td> 
</tr> 
</tmpl_loop> 
</body> 
</html> 
- شرح الكود السابق :
كما تلاحظون بأن الكود السابق هو كود html عادي جداً ، ولكن هناك اوسمه tags جديده وهي :
1- <tmpl_var naem='VAR_NAME'>
2- <tmpl_loob name='LOOP_NAME'>
3- </tmpl_loop>
الوسم الأول خاص بالمتغيرات حيث سيتم إستبداله بقيمة معينه . مثل title سيتم إستبداله بقيمة title كما سنشاهده بعد قليل .

الوسم الثاني خاص بإنشاء دورة تكرارية أما الوسم الثالث فهو لإنهاء الدورة التكرارية ، بمعنى أن ما يكتب بين الوسم الثاني والثالث سيتم تكرارهما على حسب عدد مرات التكرار المطلوبه ( في مثالنا هذا سيتم تكرار كتابة رقم المستخدم واسمه حتى تنتهي البيانات ) .

إنشاء ملف PHP


الآن لننشئ الصفحة الرئيسية وليكن اسمها index.php واحفظها في المجلد الرئيسي للموقع ( mysite ) ، بعد ذلك قم بفتح الملف index.php وضع هذه الشفرة بداخله :

كود:
 
<? 
// إضافة ملف كلاس القوالب إلى هذا الملف 
include("vlib/vlibTemplate.php"); 
// جلب ملف القالب المطلوب التعامل معه 
$tmpl = new vlibTemplate("templates/mainpage.tbl"); 
 
// يقوم السطر التالي بتغيير وسم عنوان الصفحة إلى النص المحدد 
$tmpl->setVar('title', 'عنوان الصفحة'); 
 
// إضافة رسالة إلى القالب 
$tmpl->setVar('msg', 'مرحباً بك، هذه معلومات اسماء المستخدمين'); 
 
// لنفترض بأن لديك مصفوفه تحتوي على ارقام واسماء المستخدمين 
$rows = array(); 
$rows[] = array('userid' => 1, 'username' => 'Mohammed'); 
$rows[] = array('userid' => 2, 'username' => 'Ali'); 
$rows[] = array('userid' => 3, 'username' => 'Khaled Al-Omar'); 
$rows[] = array('userid' => 4, 'username' => 'Saud Ahmad'); 
$rows[] = array('userid' => 5, 'username' => 'Mobarak'); 
$rows[] = array('userid' => 6, 'username' => 'Hashem'); 
 
// بدء الدورة مع تحديد الإسم الذي اخترناه في القالب 
$tmpl->newLoop('loop1'); 
 
foreach ($rows as $row) { 
// إضافة بيان واحد إلى القالب 
// سيتم التكرار حتى تنتهي البيانات من المصفوفه 
$tmpl->addRow($row); 
} 
// إنهاء الدورة وإدخال البيانات إلى القالب 
$tmpl->addLoop(); 
 
// طباعة القالب مع المحتويات الجديدة 
$tmpl->pparse(); 
?> 
- شرح الكود السابق :
1- يتم في السطر الأول جلب ملف الكلاس الذي سيتم استخدامه في تغيير قيم المتغيرات في القالب .
2- بعد ذلك يتم جلب ملف القالب المراد استخدامه .
3- يتم تعيين قيمة "عنوان الصفحة" بدل الوسم <tmpl_var name='title'> .
4- بـعد ذلـك يتـم تعيـين قيـمة "مرحباً بك ، هذه معلـومات اسماء المتسخدمين" بـدل الوسـم التالي <tmpl_var name='msg'> .
5- يقوم النظام ببدء الدورة .
6- يتم تعيين القيم المدرجة في المصفوفة داخل الدورة الموجودة في القالب بحيث تتكرر حتى نهاية البيانات .
7- في السطر الأخير يتم طباعة القالب بعد تغيير قيم المتغيرات ليظهر بشكله النهائي .

عند فتح الصفحة الرئيسية index.php سيتم جلب القالب وتغيير قيم المتغيرات وطباعة الشكل النهائي ( قم بفتح مصدر الملف الناتج واطلع على شكل شفرة html ، ستلاحظ بأنها نفس الموجودة بالقالب ما عدا تكرار الأوسمه الخاصة بالجدول بعدد ارقام واسماء المتسخدمين ) .

يوجد عدة أمثله ( للتاريخ والبريد والقوالب ) مرفقه مع المجموع تجدونها في مجلد vlib/examles أرجو الإطلاع عليها ومحاولة فهمها وتطبيقها ( خصوصاً أمثلة القوالب ) ، كذلك يوجد شرح وافٍ لأنواع المتغيرات والخواص ( باللغة الإنجليزية ) في الموقع الرسمي للمجموعه وعنوانه هو http://vlib.activefish.com .

وفي الختام اتمنى من الجميع الاستفادة من هذا الدرس ، وفي حال وجود اي استفسار فأرجو عدم التردد في طرحه هنا حتى تعم الفائدة للجميع .

وأعتذر من الجميع إن كان الدرس غير واضح او غير مفهوم ، فهذه اول مرة اكتب فيها درساً كهذا . ( سامحوني على القصور ) ، وفي النهاية لا تنسونا من دعائكم في هذا الشهر الفضيل ..

المصدر : قرية الـ php






التوقيع
تركيب جميع أنواع السكربتات بـ 50 ريال سعودي .
تركيب جميع أنواع المنتديات بـ 50 ريال سعودي .

الدفع بعد التركيب و ضمان أن الخدمة تعمل بشكل سليم .

في حال الرغبة بالخدمة أرجوا منك إرسال رسالة إلى :alsaeqah@hotmail.com