لعمل بلوك يقوم باستخدام نظام نماذج انفنتي سنقوم بعمل بلوك كمثال ويمكن القياس عليه واستخدامه في أكثر من تخصص (اخبار , مقالات , بطاقات , صوتيات ... الخ )
المثال هنا سيكون بلوك لأكثر الأخبار مشاهدةً
سنبدأ بعمل الأكواد بفتح ملف جديد وتسميته
block-topnewsviews.php
نبدأ بوسم php كأول سطر :
بعد ذلك سنضع شرطا للملف بأن لا يتم تشغيله إلا عندما يقوم الزائر بالدخول لقسم الأخبار :
كود PHP:
if(THIS_SCRIPT=="news"){
ثم نضع بعد ذلك الكود الخاص بالاستعلام من جدول الأخبار :
كود PHP:
$result=$DB->query("SELECT id,caption FROM newsm ORDER BY views DESC LIMIT 10");
if($DB->num_rows($result)>0){
آخر سطر بالكود السابق هو أنه في حالة وجود أي عدد من الأخبار أي اكبر من صفر قم بعمل التالي :
قم بتشغيل مربع بلوك جديد والذي سنأتي له لاحقاً بالتعريف بعد أن قمنا بتجهيزه والذي اسمه extrablocks :
كود PHP:
$tpl->newBlock("extrablocks");
سنقوم بعد ذلك بتعيين قيمة عنوان الجدول لكي يتم عرضها برأس الجدول والذي قمنا بتعيينه سابقا باسم extrablockname :
كود PHP:
$tpl->assign("extrablockname","أكثر الأخبار مشاهدة");
بعد ذلك سنقوم بعمل بحث لكل سجل بالجدول وأخذ المتغيرات منه لكل دورة :
كود PHP:
while($row=$DB->fetch_array($result)){
سنقوم الآن بفتح صف جدول بطريقة نماذج انفنتي بالطريقة التالية :
كود PHP:
$tpl->newBlock("extrablock");
سنقوم بتعيين قيمة عنوان الخبر ورقمه داخل الصف بالطريقة التالية :
كود PHP:
$tpl->assign("action","news.php?action=show&id=".$row[id]);
$tpl->assign("caption",unclean($row[caption]));
نقوم الآن بإغلاق الوسوم التي فتحناها بالكود
سيصبح الكود كاملا الآن بهذا الشكل :
كود PHP:
<?php
if(THIS_SCRIPT=="news"){
$result=$DB->query("SELECT id,caption FROM newsm ORDER BY views DESC LIMIT 10");
if($DB->num_rows($result)>0){
$tpl->newBlock("extrablocks");
$tpl->assign("extrablockname","أكثر الأخبار مشاهدة");
while($row=$DB->fetch_array($result)){
$tpl->newBlock("extrablock");
$tpl->assign("action","news.php?action=show&id=".$row[id]);
$tpl->assign("caption",unclean($row[caption]));
}
}
}
?>
نأتي الآن لكود للنماذج :
ابحث في نموذج rcontent عن السطر التالي :
كود:
<!-- START BLOCK : online -->
أضف الكود التالي في السطر الذي قبله أو في المكان الذي ترغب به :
كود:
<!-- START BLOCK : extrablocks -->
<table align="center" border="1" cellpadding="3" cellspacing="0" class="dcitbi" bordercolor="#B2B2B2" width="150" height="40">
<td align=right class="dcitbbt">{extrablockname}
<img border="0" src="{img_dir}/arroww.gif">
</td>
<!-- START BLOCK : extrablock -->
<tr>
<td class=tdnav align=center height=20>
<a href="{action}">{caption}</a>
</td>
</tr>
<!-- END BLOCK : extrablock -->
</table>
<br>
<!-- END BLOCK : extrablocks -->
ملاحظة : يمكنك استخدام كود النموذج السابق لعدة بلوكات مختلفة وذلك بتعيين القيم المختلفة عن طريق كود الـ php