السلام عليكم ورحمة الله وبركاته
منذ ان تعلمت البرمجة بلغة PHP كنت استخدم البرمجة بدون قوالب كأي متعلم جديد للغة
وعندما اردت العمل بنظام قوالب لانجاز اعمالى بسهولة ،ولكى استطيع التعديل عليها لاحقا بسهولة ايضا ، تعملت استخدام TemplatePower ذلك النظام الذي تعلمته بسهولة وبسرعة لانه لا يوجد به تعقيد ( بصراحة لم اجرب استخدام اى نظام قوالب اخر ك Smarty لانى لم اجد الحاجة لذلك مع TemplatePower )
ولذا قررت ان تكون اول مشاركاتى فى سوالف وخصوصا فى هذا القسم عن نظام القوالب الرائع هذا
يمكنك تحميل TemplatePower من هنا
وبعد التحميل سنبدأ شرح هذا النظام الرائع
----------------------------------------
يمكن عمل القوالب فى هذا النظام بصيغ متعددة مثل : HTML و TPL ويمكن حتى عملها ب php
الان نبدأ بملف القالب والذى سنسميه start.html مثلا
كود PHP:
<h1>{title}</h1>
title :
هو المتغير الذي سيتم استبداله عند تمريره بملف ال PHP
والان نذهب لملف ال php :
كود PHP:
<?php
include_once ("class.TemplatePower.inc.php");
$tpl = new TemplatePower( "start.html" );
$tpl->prepare();
$tpl->assign( "title", "Hello !" );
$tpl->printToscreen();
?>
والان نقوم بشرح هذا الملف بالتفصيل
كود PHP:
include_once ("class.TemplatePower.inc.php");
قمنا هنا باستدعاء ملف القالب
كود PHP:
$tpl = new TemplatePower( "start.html" );
قمنا هنا بإنشاء كائن جديد لتمرير المتغيرات الموجوده بالصفحة التى قمنا بانشاها فيه
كود PHP:
$tpl->prepare();
تقوم هذه الدالة باستبدال المتغيرات فى الملف الذي قمنا باستدعائه فى الاعلى بقيمتها
كود PHP:
$tpl->assign( "title", "Hello !" );
قمنا هنا باخباره باستبدال title الموجوده بين {} ب كلمه Hello !
كود PHP:
$tpl->printToscreen();
وهنا نقوم باظهار النتائج
اعتقد ان كل شيء واضح الان
الان ساقوم بشرح استعمال هذا القالب مع المتغيرات الموجوده فى قاعده البيانات
سنقوم بانشاء ملف site.html :
كود PHP:
<table>
<!-- START BLOCK : MyBlock -->
<tr>
<td>{title}</td>
</tr>
<tr>
<td>{comment}</td>
</tr>
<!-- END BLOCK : MyBlock -->
</table>
هذا تقريبا نفس المثال الموجود بالاعلى ولكن هناك تغير طفيف
كود PHP:
<!-- START BLOCK : MyBlock -->
<!-- END BLOCK : MyBlock -->
قمنا باسستعمال هذين الوسمين لان الجزء الموجود بينهما سيتم تكراره
الان نذهب لملف الphp :
كود PHP:
<?php
include_once ("class.TemplatePower.inc.php");
$tpl = new TemplatePower( "site.html" );
$tpl->prepare();
$sql="select * from TABLE ";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
extract($row);
$tpl->newBlock( "MyBlock" );
$tpl->assign( "title", "$title" );
$tpl->assign( "comment", "$comment" );
}
$tpl->printToscreen();
?>
ساقوم بشرح هذا الملف بالتفصيل
كود PHP:
include_once ("class.TemplatePower.inc.php");
قمنا هنا باستدعاء ملف القالب
كود PHP:
$tpl = new TemplatePower( "start.html" );
قمنا هنا بإنشاء كائن جديد لتمرير المتغيرات الموجوده بالصفحة التى قمنا بانشاها فيه
كود PHP:
$tpl->prepare();
تقوم هذه الدالة باستبدال المتغيرات فى الملف الذي قمنا باستدعائه فى الاعلى بقيمتها
كود PHP:
$sql="select * from TABLE ";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
extract($row);
قمنا هنا بعمل استعلام من قاعده البيانات وقمنا بعمل دالة التكرار
كود PHP:
$tpl->newBlock( "MyBlock" );
نقوم هنا بتوضيح الوسم الذى سيتم تكرار ما بداخله
كود PHP:
$tpl->assign( "title", "$title" );
قمنا هنا باخباره باستبدال title الموجوده بين {} ب $title وهو اسم الحقل الموجود بقاعده البيانات وسيتم جلب ما بداخله
كود PHP:
$tpl->assign( "comment", "$comment" );
قمنا هنا باخباره باستبدال comment الموجوده بين {} ب $comment وهو اسم الحقل الموجود بقاعده البيانات وسيتم جلب ما بداخله
كود PHP:
$tpl->printToscreen();
وهنا نقوم باظهار النتائج
ارجو ان يكون الشرح واضحا واى استفسار انا موجود 
اخوكم / عمرو النجار
والسلام عليكم ورحمة الله وبركاته