منتدى استراحات زايد

منتدى استراحات زايد (http://vb.ma7room.com/index.php)
-   منتدى أخبار المواقع والمنتديات العربية والأجنبية (http://vb.ma7room.com/forumdisplay.php?f=183)
-   -   نظام الاستيلات البسيط في سمارتي [درس] (http://vb.ma7room.com/showthread.php?t=179593)

محروم.كوم 07-08-2009 07:40 AM

نظام الاستيلات البسيط في سمارتي [درس]
 
بسم الله الرحمن الرحيم ..

طبعاً انا كتبت في النوت باد الطريقة ولم اعمل صور ولاكن اعتقد انه مافي جداً لمعرفة وفهم

الطريقة بسيطة ..

ويجب على الأقل ان تكون تعرف سمراتي وكيف تتعامل معها ولو بشكل بسيط:icon30:

---------------------------------------

طريقة تغيير ستايل ..
الملفات المطلوبة :
1.نظام القوالب سمارتي .
ملفات عدد
كالتالي..
3ملف سمارتي
template -> مجلد القولب
compile -> المعالج او الصفحات المؤقته
lib -> مجلد سمارتي

admin :for admin files
الملفات:
index.php
config.php
admin/index.php
admin/style.php
admin/svae.php
admin/thame.php

--
template/index.html




نذهب الى phpmyadmin
وننشئ قاعدة جديدة ثم ننشئ جدول بأسم وليكن style
ويكون فيها حقلين الأول id المفتاح الرئيسي والثاني هو thame
ويكون varchar



الخطوة الثانية .نذهب الى ملف config.php

ونغرس بينات الأتصال فيه .
وتكون عندي على النحو التالي وهو اعتيادي .
رمز PHP:

//أكتب الهوست حق موقعك///
//أكتب أسم القاعده الي تبيها//
///واليوزر وباس//
$host="localhost";
$dbname="script-test";
$user="root";
$pass="";
///لاتعدل شيئ هنا//
$con=[@] mysql_connect($host,$user,$pass
) or die("خطأ في الاتصال") ;
$db=[@] mysql_select_db($dbname,$con);


انتهينا من ملف config.php

الأن نذهب لتعديل خيارات smarty لتتناسب معك

نذهب الى libs ثم Smaty.class.php

نفتحه بمحرر او نوتباد ولاكنه بالمحرر يكون شكله افضل وارتب

المهم نروح نبحث عن كلمتين فقط

اضغط ctrl + f وابحث عن template

وحتلاقي $template_dir="هنا تحط اسم ملف القوالب او الرابط تبعه"

والأن الشيئ الأخر وهو انك تبحث عن أسم compile رح تلاقي

$compile="هنا تحط مسار الملف المؤقت الذي وان تلاحظ في بداية الدرس كتبنا كل الملفات

والمجلدات"

نحفظ الملف ونقفله ..




الأن نتوجه الى admin

index.php

ونعمل لنا لوحة على اساس انه في رابط لصفحة style.php
وهي صفحة تغيير الستايل
الأن نذهب الى صفحة


admin/thame.php
ونبداً بكاتبة الكود تبعها ...وهي بالعربي ..تكون دالة لقراءة اسماء المفلفات الموجودة في ملجد القوالب .
وعرضها ..
طبعاً راح اعرض الدالة ومن ثم راح اشرحها
كود بي اتش بي:
رمز PHP:
function thamelist(){
//فحص او جلب كل اسماء الملفات التب بداخل مجلد القوالب
$handle = scandir("../template");

echo
"";
//كلما كان اللست وسمينا مسميين الأول اعطيناه المفتاح والثاني القيمة وهي أسم المجلد تسوي كل الي في المجلد مجلد القوالب المعطى بالمتغير $handle
while(list($key,$dir) = each($handle)){
//check if the given file from scan is dir
if(is_dir("../template/$dir")){
//check if this is ! file
if($dir != "." && $dir != ".."){

//make an new selectable and make the value is $dir and the name is $dir
echo "$dir";

//end of if num 2
}

//end of if num1
}
//end f while
}
//close select tage
echo "";
//End of the function
}


اذا فهمت طريقة عملها بكل بساطة تجلب اسماء المجلدات عن طريق scandir
ومث ثم تعرضهم كأسماء على المتغير $dir ومن ثم تتم عملتين فحص صغيريتين الأول تتأكد
من انه مجلد والثانية اذا لم ليكن ملف ومن ثم تعمل القيمة والأسم للسيليكت $dir
بس..وروح بيتكم ورتاح.
نهاية كود بي اتش بي:

احفظ صفحة thame.php
ثم توجه الى ملف


style.php
وأكتب الكود التالي .
وظفيتها بالخلاصة تعرض لنا الدالة التي عملناها ..قبل شوي .
بس .
بس طريقة العرض بتكون طريقة عرض سمارتي .
كود بي اتش بي:
رمز PHP:
include("../libs/Smarty.class.php"); // استدعاء ملف سمارتي
include("thame.php"); // استدعاء ملف عرض القائمة المنسدلة
$smarty = new Smarty; // انشاء سمارتي
$smarty->template_dir = '../template'; // اسم مجلد القوالب
$smarty->compile_dir = '../compil'; // اسم مجلد الصفحات المؤقتة


$smarty->register_function('thamelist','thamelist'); // تشغيل الدالة في قالب التصميم
$smarty->display("index.htm"); // عرض قالب التصميم بعد تشغيل الدالة فيه
$smarty->clear_compiled_tpl();


نهاية كود بي اتش بي:

كما تلاحظ عزيزي القارئ ان reigister_function دالة لتسجيل الدالة او اسم دالتنا .

ثم نقوله اعرض لنا صفحة index.html الموجود في مجلد القوالب .

التي وبكل بساطة يكون محتوها عرض الدالة بجعل أسم الدالة

بين قوسين

{thamelist}

نقفل صفحتين index.html في مجلد القوالب الذي كتبا به {thamelist}
لعرض الداالة ومنحفظه وملف style.php ونحفظهم .. الأثنين

أخر ملفين

الان بعد ان تحتار مجلد من المجلدات الموجود في مجلد القوالب .
ماذا يتبقى : انك تغير قيمة حقل thame في جدول style
ليتناسب لعرضه ..
فنسميها save.php

ونفتحها,,

بالملخص وظيفتها تعديا اسم ال thame الى $_POST ثيم الذي كان فيمجلد ثيم
تلاحظ في الدالة : كتبنا هذا السطر
echo "";
والأن نستقبها بأسم $_POST .thame
بعد مانستقبها ..نحطها في متغير ونعدلها ونقول اذا تم التعديل بنجاح
قول له ..تم تغيير الأستايل بنجاح
اذهب الى الرئيسية مثلاً
واذا لما يتم افعل ماتشاء انت ..
فهو باختصار استعلام لتعديل البوست thame
بس ,,



وهذا كود صفحة save للي مافهم .|مع ان هذي اسهل صفحة .
رمز PHP:

include("config.php");

$sitethame = $_POST['thame'];
$sql_update = "UPDATE `style` SET `thame` = '$sitethame' WHERE `id` =1";
$query_update = mysql_query($sql_update);
if(
$query_update){
echo
"تم تغيير الاستايل بنجاح";
echo
"
"
;
echo
"أضغط هنا للعودة ";
}else{
echo
"لا لم يتم التغيير لانه هنالك خطأ";
echo
"
"
;
echo
"أضغط هنا للعودة ";
}




الأن نذهب الى صفحة index.php

الصفحة التي ينعرض بها الاستايل .
فقط نعمل فيها عملتين
الأول الأستدعاء

استداعاء ملف الأتصال لاننا سوف نجري استعلام
include("include/config.php");
استدعاء ملف الدالة التي عملناها ..
require("admin/thame.php");
استدعاء نظام سمارتي
include("libs/Smarty.class.php");


والثانية ..عرض .

رمز PHP:


$query1
= mysql_query("SELECT * FROM `style`");
$getpath = mysql_fetch_array($query1);
$thamepath = $getpath['thame'];

$smarty->template_dir = "template/$thamepath";
$smarty->compile_dir = 'compil';
$smarty->display("serach.html");
$smarty->clear_compiled_tpl();



وهي بالمخلص ..نجرب استعلام عن اسم المجلد الذي عدلنا عليه
ثم نجعل اسم المجلد في المتغير $thamepath
ثم نقول مسار مجلد القوالب الذي اخترناه هو tempalte/$thampath
$thamepath هو اسم الأستايل الذي اخترناه او اسم الف
والثانية هي مكان مجلد الملفات المؤقته .موجود معنا من قبل compile
والثالثة دالة في سمارتي
وظيفتها من اسمها ..تمسح المجلدات المؤقته او الى هذا النحو ماعليك اكتبها وفالك طيب .
جرب ..



خاتمة:
ان شاء الله تظبط معاك
بس رجاءاً قبل طرح الاسالة ::افعل الي قلت لك عليه ..
وافهم شالسالفه ..بعدين اسال لو وفقت عند مشكلة .
بصراحة هذي الطريقة استخدمها من قبل وكانت طريقة من الأخ المبهر عندما كان نشيط ويمكنكم ان ترو المواضيع
والله ولي التوفيق والقادر فوق عبداه ..
ادعوا لنا بالتوفيق والهداية ولوالدينا.:icon30:


الساعة الآن 06:18 PM

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227