ديموفنف
20-03-2007, 01:42 AM
لعمل بلوك يقوم باستخدام نظام نماذج انفنتي سنقوم بعمل بلوك كمثال ويمكن القياس عليه واستخدامه في أكثر من تخصص (اخبار , مقالات , بطاقات , صوتيات ... الخ )
المثال هنا سيكون بلوك لأكثر الأخبار مشاهدةً
سنبدأ بعمل الأكواد بفتح ملف جديد وتسميته
block-topnewsviews.php
نبدأ بوسم 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){
آخر سطر بالكود السابق هو أنه في حالة وجود أي عدد من الأخبار أي اكبر من صفر قم بعمل التالي :
قم بتشغيل مربع بلوك جديد والذي سنأتي له لاحقاً بالتعريف بعد أن قمنا بتجهيزه والذي اسمه extrablocks :
$tpl->newBlock("extrablocks");
سنقوم بعد ذلك بتعيين قيمة عنوان الجدول لكي يتم عرضها برأس الجدول والذي قمنا بتعيينه سابقا باسم extrablockname :
$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]));
نقوم الآن بإغلاق الوسوم التي فتحناها بالكود
}
}
}
?>
سيصبح الكود كاملا الآن بهذا الشكل :
<?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
المثال هنا سيكون بلوك لأكثر الأخبار مشاهدةً
سنبدأ بعمل الأكواد بفتح ملف جديد وتسميته
block-topnewsviews.php
نبدأ بوسم 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){
آخر سطر بالكود السابق هو أنه في حالة وجود أي عدد من الأخبار أي اكبر من صفر قم بعمل التالي :
قم بتشغيل مربع بلوك جديد والذي سنأتي له لاحقاً بالتعريف بعد أن قمنا بتجهيزه والذي اسمه extrablocks :
$tpl->newBlock("extrablocks");
سنقوم بعد ذلك بتعيين قيمة عنوان الجدول لكي يتم عرضها برأس الجدول والذي قمنا بتعيينه سابقا باسم extrablockname :
$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]));
نقوم الآن بإغلاق الوسوم التي فتحناها بالكود
}
}
}
?>
سيصبح الكود كاملا الآن بهذا الشكل :
<?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