السلام عليكم
اخواني الكرام انا احاول في عمل محرك قوالب ( اي ليقوم باستبدال القوالب بمتغيرات وحلقات تكرارية)
طبعا هناك العديد من المحركات الجاهزة ولاكن ارغب في عمل واحد خاص فيا (بسيط ليتناسب مع موقعي)
الفكرة التي احاول تطبيقها هي كلتالي
اولا استبدال متغيرات من القالب (عملتها والحمد لله 100%)
ثانيا عمل loop وهذه التي لم استطع تنفيذها بعد!!!!!!!!!!!!
الفكرة التي استخدمها هي تقسيم الكود المراد تكراره الى الراس والجسم والاقدام
الرأس هو الكود ما بين <!-- Start: $blockname --> و <!-- Start Loop: $blockname -->
والجسم هو الكود ما بين <!-- Start Loop: $blockname --> و <!-- End Loop: $blockname -->
والقدم هو الكود ما بين <!-- End Loop: $blockname --> و <!-- End: $blockname -->
وعندما اريد طلب الدوال اقوم بوضعه في حلقة تكرار اما while او for
مثلا
كود PHP:
$tpl = new Template(11); //demo template id = 11
$time_run = 5;
$a=0;
while($a < $time_run)
{
$tpl->assign('center','3 تجربة');
print $tpl->DisplayLoop("news",$time_run);
$a++;
}
وفي هذا المثال يكون كود القالب مخزن في قاعدة البيانات وهذا مثال للتجربة demo
كود PHP:
<!-- Start: news -->
<table width=200 cellspashing=1 cellpadding=2 border=1>
<tbody>
<!-- Start Loop: news -->
<tr>
<td>
[0][0] $center
</td>
</tr>
<!-- End Loop: news -->
<!-- Start Loop: news -->
<tr>
<td>
[0][1]$center
</td>
</tr>
<!-- End Loop: news -->
</tbody>
</table>
<!-- End: news -->
<br> <br>
<!-- gabal --> hello
<div align="right">$right </div>
<div align="left">$left</div><br>
<div align="center">$center - $extra</div>
<br> <br>
<!-- gabal --> world
<!-- Start: news -->
<table width=200 cellspashing=1 cellpadding=2 border=1>
<tbody>
<!-- Start Loop: news -->
<tr>
<td>
[0][2]$center
</td>
</tr>
<!-- End Loop: news -->
</tbody>
</table>
<!-- End: news -->
وعند العرض يكون العمل كالتالي
اظهار head
loop body
foot
وسف ارفق ملف ال class الذي يحتوي على الكود - ياريت حد من الاخوان يساعدني في هذه المسألة
وهذا الرابط يظهر لكم ما هي النتيجة التي احصل عليها من الكود!!!!
http://www.palintefada.com/templates/
المشكلة:
1) لا يقوم بعمل loop صحيح (ملاحظة في نفس التمبلت المطلوب عمل اكثر من loop المفروض يصير عنا 3 loop ولك loop يتم تكرار محتواه 5 مرات هذا المثال الي انا قمت به
2) لا يقوم بوضع ال loop مكان ما محدد وضعه في القالب بل يظهر ال loop مكان ما وضعنا دالة ال DisplayLoop
اخواني ياريت عدم تجاهل هذا الموضوع ومساعدتي (صارلي 5 ايام شغال في هذا الكود وللاسف مش زابط معي)