| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| اثناء تصفحي للانترنت لاحظت شغلة مهمة جدا بأحد المواقع , وهي كانت القوالب ونظمتها , وهذي الانظمة بتغني في اغلب الاحيان عن الcss وهي مبرمجة بالphp (في حالتنا هذه) , بحثت عن الموضوع في جوجل وغيرو عن هذي القوالب لقيت في اكثر من برنامج عربي لأنظمة القوالب , نزلت اكثر من برنامج لكن انا شايفها معقدة ومش عارف كيف استعملها مع انه في شرح الها ,لكن الشرح مش كافي لأنه ما بشرح الكود متل هذا الموقع http://bp.ma/Udem/chareh.php?Awid=chareh_1 شارح بطريقة غير مفهومة ,, حاولت ابحث عن درس يعلم كيف ممكن الواحد يعمل مثل هذي القوالب ولقيت ولله الحمد , وكان الشرح بردو مش كافي لأنه لما يشرح عن كود معين بقول(هذا الكود لعمل كذا وكذا ) ما بشرح الي داخل الكود من دوال وامور تانية متلا : كلمة new شو بتعني بالبرمجة او الاشارة <- او شو علاقة المتغير بـ<- ....وهكذا . من خلال البحث عرفت انه في اكتر من برنامج ومن ضمنها smarty , umed , my templete وغيرها . الان انا حاولت اعمل قالب بطريقتي الخاصة وهي عن طريق تبديل الكلمات بأخرى , ولكن واجهتي بعض المشاكل.. اولا عملت صفحة اسمها function.php , وهي مختصة بالدوال الي بدنا نستخدمها (حاليا دالة وحدة): <?php function get_temp($file){ $fp=fopen($file,"r"); $temp= fread($fp,filesize($file)); fclose($fp); return $temp; } ?> عرّفت في الدالة السابقة انه يفتح الصفحة الي اسمها بدل المتغير $file الي هو رح يكون الصفحة التانية الي فيها رح يكون البرمجيات الخاصة , وبعدها يقرأ الموجود داخل الملف . صفحة القالب وهي مكونه من جدول (صف للهيدر , صف بداخلة 3 اعمدة :يمين و يسار و وسط: , وصف لاسفل الصفحة) templete.html. <html> <body> <table width="100%" height="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <td colspan="3"> {head} </td> </tr> <tr height="100%"> <td> {left} </td> <td> {midlle} </td> <td> {right} </td> </tr> <tr> <td colspan="3"> {footer} </td> </tr> </table> </body> </html> الان وضعت داخل كل حقل اسم بدنا نستبدله متل : {head},{footer},{left} والباقي.. الان صفحة الاستبدال replace.php وفيها رح نعرف الشغل الى اشتغلناه فوق , ورح نحط الكلمات الي بدنا نستبدلهم بمصفوفة بسيطة(وهون بتبدا المشكلة): <?php //نقوم بتضمين ملف الفنكشن والذي يحتوي على دالة قراءة الملف include("function.php"); //يتم إسناد نتيجة الدالة والتي ستكون منطقياً هي نص الملف المراد فتحه $temp_item = get_temp("templete.html"); //هنا نقوم بإستخدام دالة الإستبدال ، ونقوم بإستبدال متغيراتنا السابقة بما نريده كما يلي $old_temp= array('{head}','{footer}','{right}','{left}','{midlle}'); $new_temp= array('alm7trf.cscript','©','right-block','left-block','main body'); $output = str_replace($old_temp,$new_temp,$temp_item); //طباعة الملف بعد عملية الإستبدال echo $output; ?> لحد الان كل شي تمام (استدعينا ملف الدالة , وعرفنا ملف القالب داخل دالتنا, عملنا متغير عباره عن مصفوفة الكلام السابق , ومتغير للمصفوفة للكلام الجديد, وابدلنا الكلام عن طريق الدالة str_replace و اخرجنا الكلام) وعملت تجربة وزبطت 100% ,, المشكلة هو اني عامل صفحة لكل متغير (head,footer,left,right) حتى تكون كل صفحة مختصة بشيء ,الان انا بدي ابدل الكلام الموجود بصفحة القالب مع الكلام الموجود بكل صفحة , حاولت اعمل استدعاء عن طريق include ما زبط لأنه كان يعرض الكلام كلو بأعلى الصفحة وما بعرضة بمكانه الصحيح . كانت هذي مشكلة رقم واحد المشكلة رقم 2 هي انه كيف بدي اعمل صفحات السكربت واستدعي القالب فيها ,, يعني لازم بكل صفحة اكتب (اخر كود) ولاّ لأ .. ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ بتمنى من اي واحد عندو اقتراح او حل ينجدني بسرعة لأني تعبت من هذي المشاكل والي بيعرف طريقة اسهل او احسن يعرفني بيها و ان شا الله تكون في ميزان حسناته. واتمنى التوفبق للجميع | |||||
|
| |||||
|
السﻻم عليكم بالنسبة للرابط الذي وضعته فهو خاص بمحرك برمجته انا ولم يكن في المستوى وتخليت عنه ... كذلك الشرح بالنسبة لكلمة new و -> فقم بزيارة هذا الموضوع http://www.swalif.net/softs/swalif45/softs180086/ اما اذا اردت استخدام محركات جاهزة فاختر من بين: القالب السهل - الرئيسية قوالب سمارتي SMARTY خطوة بخطوة - الجزء الأول - منتدى بي اتش بي PHP http://www.swalif.net/softs/swalif45/softs111724/ اما اذا اردت برمجة محرك خاص بك فاستخد احد المحركات التي وضعتها لك "وتعلم منها خصوصا محرك easy" | |||||
|
| |||||
|
هناك طريقة سهلة لاستخدام القوالب افترض أن لدي الجدول التالي(lessoncat) : كود: CREATE TABLE `lessoncat` ( `id` int(11) unsigned NOT NULL auto_increment, `name` varchar(255) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM كود PHP: كود PHP: كود بلغة HTML: <div align="center"> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="table2"> <tr> <td align="center" style="padding: 5px" rowspan="3" valign="top"> <img border="0" src="cat.jpg" width="50" ></td> <td width="100%" valign="top" style="padding: 3px"><a style="font-weight: bold" href="lesson.php?idcat=$id"> <font color="#722000">$name</font></a></font></td> </tr> <tr> <td width="100%" valign="top" style="padding: 5px">$text</td> </tr> </table> </div> أرجو أن يكون الشرح واضح | |||||
|
| |||||
|
لقد كانت لي تجربة بسيطة مع نظم القوالب خرجت بها بقالب بسيط ، قد يفيدك في التعلم منه كبداية لاساسيات نظم القوالب .. اقتباس:
| |||||
|
![]() |
| أدوات الموضوع | |
| |
المواضيع المتشابهه | ||||
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| درس ابدع فى بولتون(vbulletin) (index.php) | Mr.eslam | إصلاح وصيانة المنتديات | 2 | 05-08-2006 09:10 PM |
| طريقه وضع اطار لي قوانين المنتدى حركه رائعه شرح | NighT | إصلاح وصيانة المنتديات | 11 | 30-05-2005 02:43 PM |
| واجهة عالية الدقة (احترافية)للبيع + لكل من تعامل مع الرومنس ماسنجر الدخول للضرورة | شبكة طيبة | خدمات البيع والشراء والإعلانات التجارية | 6 | 01-02-2005 02:55 AM |
| ياشباب الجدول الذكي مارأيكم في فكرتي | عبدالله عيد | PHP | 1 | 27-06-2004 03:22 PM |