تسجيل الدخول

مشاهدة النسخة كاملة : [ درس ] التحكم الكامل في القوالب من لوحة التحكم


dalim13
2010-10-28, 20:18
السلام عليكم ورحمة الله



في الاول سوف نتطرق على نظرة بسيطة في نظام القوالب :



لا شك ان الكثير من المبرمجين يعتمدون على نظام القوالب (فصل البرمجة عن التصميم) في برمجياتهم

لتسهيل التصميم على المصمم وكذلك لتسهيل الامر على المبرمج نفسه



الثيم عادة ما يكون مجلد يحوي على عدة ملفات وهي القوالب وكل قالب مسؤول عن اظهار مكان معين



مثال :


http://www.traidnt.net/vb/attachment.php?attachmentid=525580&stc=1&d=1287079205


الان بعدما تطرقنا على لمحة بسيطة في نظام القوالب سوف نقوم بشرح التحكم في ملفات القوالب من الادارة دون اللجوء الى تحميلها للجهاز وتعديلها :



اولا سوف ننشا ملف جديد ونضع مصفوفة تحوي على جميع القوالب مع اسماء لها



مثلا لدينا الشكل السابق يحوي على 5 قوالب وهي



header.html

right.html

left.html

center.htm

footer.html



المصفوفة سوف تكون كالتالي



<?php

$tp_array = array(

"center" => "center.html" ,

"right" => "right.html" ,

"left" => "left.html" ,

"footer" => "footer.html" ,

"header" => "header.html");

?>



الان ننشا جدول بسيط لعرض القوالب مع اسمائها



<table border="1" width="50%">

<tr>

<td>القالب</td>

<td>تعديل</td>

</tr>

<tr>

<td>الهيدر</td>

<td><a href="templates.php?type=edit&tp=header">تعديل</a></td>

</tr>

<tr>

<td>الفوتر</td>

<td><a href="templates.php?type=edit&tp=footer">تعديل</a></td>

</tr>

<tr>

<td>اليمين</td>

<td><a href="templates.php?type=edit&tp=right">تعديل</a></td>

</tr>

<tr>

<td>الوسط</td>

<td><a href="templates.php?type=edit&tp=center">تعديل</a></td>

</tr>

<tr>

<td>اليسار</td>

<td><a href="templates.php?type=edit&tp=left">تعديل</a></td>

</tr>

</table>



مثال

http://www.traidnt.net/vb/attachment.php?attachmentid=525585&stc=1&d=1287080211


رابط تعديل اي قالب يكون كالتالي



templates.php?type=edit&tp=footer



الذي باللون الاحمر هو اسم ملف تعديل القوالب يمكن تغييره

اللون الاخضر يوضخ اسم القالب الموجود في المصفوفة مثال



"footer" => "footer.html" ,



الان صفحة التعديل اي

type=edit





<?php

$style_f = "default"; // مجلد الستايل المراد تعديله

$tp1 = $_GET['tp'];

$tp = $templates_array[$tp1]; // استخراج اسم الملف انطلاقا من اسمه في المصفوفة

$file_c = $style_f."/".$tp;

$f1 = fopen($file_c, "r+") or die("تعذر فتح الملف");

$f2 = fread($f1, filesize($file_c));

?>

<form action="templates.php?type=up_style" method="POST">

<input type="hidden" name="temp" value="<?=$tp;?>">

<input type="hidden" name="temp1" value="<?=$tp1;?>">

<table border="0">

<tr>

<td bgcolor="#FFFFFF">محتويات القالب :</td>

<td bgcolor="#FFFFFF"><textarea dir="ltr" name="temp_cont" cols="85" rows="25"><?=htmlspecialchars($f2);?></textarea></td>

</tr>

<tr>

<td colspan="2" bgcolor="#FFFFFF"><input type="submit" value="تحديث القالب"></td>

</tr>

</table>

</form>



قمنا بفتح ملف الستايل وعرضه في textarea داخل فورم الان نقوم بتعديل القالب كما نريد



ثم صفحة الاستقبال التالية التي تقوم بحفظ التغيرات وهي

type=up_style




<?php

$tp = $_POST['temp'];

$tp1 = $_POST['temp1'];

$temp_cont = stripslashes($_POST['temp_cont']);

$filename = "default/".$temp;

$filehandle = fopen($filename, 'w') or die("تعذر فتح الملف");

$stringData = $temp_cont;

$bnvc = fwrite($filehandle, $stringData);

fclose($filehandle);

?>




واعتقد ان الكود واضح فتحنا الملف من جديد وقمنا بحفظ الاعدادات الجديدة فيه



هذا كل ما في الامر مع اني اختصرت عدة اشياء واي استفسار فمرحب به

dalim13
2010-11-08, 15:54
من مر على الموضوع يترك ردا وليكن وصفا لرئيه بالموضوع

الأستاذ سامي
2010-11-08, 18:45
السلام عليكم
الموضوع كما هو مبهم
لوحة تحكم ماذا و قوالب ماذا؟؟؟

nannasoft
2010-11-08, 19:08
بصراحة لم أفهم شيء!!!!!!.....سلام

dalim13
2010-11-09, 11:46
السلام عليكم
الموضوع كما هو مبهم
لوحة تحكم ماذا و قوالب ماذا؟؟؟

وعليكم السلام
هذه الطريقة تتيح لك التعديل على القوالب لاي سكربت قمت ببرمجته مثلا يعتمد على نظام القوالب
التعديل يكون بسيط ومن الادارة دون اللجوء لل ftp وفتح الملفات
كل ما عليك هو تطبيق الطريقة ولا تنسى اعطاء التصريح 777 لجميع ملفات القالب

الأستاذ سامي
2010-11-09, 14:10
شكرا اخي
لكن اريد التنبيه بأنه حسب التوصيات الحالية ل w3c الجداول لا تستعمل في القالب
فهي تستهلك الكثير من الكود مما يجعلها ثقيلة و حاليا وجودها يؤثر على ترتيب قووقل
وهو المشكل المطروح مع جوملا مثلا و اغلب سكربتات المنتديات
بدلامن هذا استبدلها ب
<div></div>
مع لمسات على صفحة ال css للحصول على المطلوب

عدا هذا كما قلت حاليا فصل القالب عن المحتوى و حتى عن اللغة امر ضروري لاي سكربت يطمح للانتشار
بارك الله فيك و نود لو يكون اسم منتدانا على الصور

dalim13
2010-11-10, 14:56
شكرا اخي
لكن اريد التنبيه بأنه حسب التوصيات الحالية ل w3c الجداول لا تستعمل في القالب
فهي تستهلك الكثير من الكود مما يجعلها ثقيلة و حاليا وجودها يؤثر على ترتيب قووقل
وهو المشكل المطروح مع جوملا مثلا و اغلب سكربتات المنتديات
بدلامن هذا استبدلها ب
<div></div>
مع لمسات على صفحة ال css للحصول على المطلوب

عدا هذا كما قلت حاليا فصل القالب عن المحتوى و حتى عن اللغة امر ضروري لاي سكربت يطمح للانتشار
بارك الله فيك و نود لو يكون اسم منتدانا على الصور

بخصوص ما ذكرت في الشطر الاول فذلك يعود للمصمم او المبرمج نفسه وكل شخص وطريقة تصميمه
هناك من يعمتد على web2.0 وهناك من هو مزال مع التقنيات القديمة ولا تجد اي div في تصميمه الا نادرا

وطبيعة الحال فصل التصميم عن الكود البرمجي امر شبه ضروري على كل مبرمج قادر
حتى يسهل الامر على نفسه بالدرجة الاولى ثم على مستخدمي السكربت للتعديل على التصميم او تصميم ثيم جديد وما الى ذلك شرط الحفاظ على العلامات البرمجية الموجودة في القالب وكل قالب وله علامات خاصة به

بعض انواع القوالب

سمارتي وربما هو اشهرهم
وهناك القالب السهل برمجة عربية من اخونا ضيف daif.net وانا احد مستخدمي هذا القالب الرائع وهو سهل اسم على مسمى

الأستاذ سامي
2010-11-10, 18:44
مشكور اخي على الاضافة و التطرق للسمارتي و هو يسمى محرك قوالب

اما عن استعمال ال div فهذه توصيات w3c و هي من تحدد معايير الانترنت و المواقع المخالفة لن تحصل على ارشفة جيدة لان اغلب محركات البحث و المتصفحات - عدا ie - تتبع كل جديد في معاير w3c
بارك الله فيك

mizabe
2010-11-12, 09:22
شكرا للموضوع