ظ†ط¸ط§ظ… ط§ظ„ط§ط³طھظٹظ„ط§طھ ط§ظ„ط¨ط³ظٹط· ظپظٹ ط³ظ…ط§ط±طھظٹ [ط¯ط±ط³]



بسم الله الرحمن الرحيم ..

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

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

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

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

طريقة تغيير ستايل style ..
الملفات المطلوبة :
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:
<code style="white-space:nowrap"> <code>
//أكتب الهوست حق موقعك///
//أكتب أسم القاعده الي تبيها//
///واليوزر وباس//
$host="localhost";
$dbname="script-test";
$user="root";
$pass="";
///لاتعدل شيئ هنا//
$con=@ mysql_connect($host,$user,$pass
) or die("خطأ في الاتصال") ;
$db=@ mysql_select_db($dbname,$con);
</code> </code>

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

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

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

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

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

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

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

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

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

والمجلدات&quot;

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




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

index.php

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


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

echo
"<select name=\"thame\">";
//كلما كان اللست وسمينا مسميين الأول اعطيناه المفتاح والثاني القيمة وهي أسم المجلد تسوي كل الي في المجلد مجلد القوالب المعطى بالمتغير $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 "<option value=\"$dir\">$dir</option>";

//end of if num 2
}

//end of if num1
}
//end f while
}



//close select tage
echo "</select>";
//End of the function
}
</code> </code>

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

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


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


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

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

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

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

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

بين قوسين

{thamelist}

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

أخر ملفين

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

ونفتحها,,

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



وهذا كود code صفحة save للي مافهم .|مع ان هذي اسهل صفحة .
رمز PHP:
<code style="white-space:nowrap"> <code>
include("config.php");

$sitethame = $_POST&#91;'thame'&#93;;
$sql_update = "UPDATE `style` SET `thame` = '$sitethame' WHERE `id` =1";
$query_update = mysql_query($sql_update);
if(
$query_update){
echo
"تم تغيير الاستايل style بنجاح";
echo
"<br>";
echo
"<a href=\"index.php\">أضغط هنا للعودة </a>";
}else{
echo
"لا لم يتم التغيير لانه هنالك خطأ";
echo
"<br>";
echo
"<a href=\"index.php\">أضغط هنا للعودة </a>";
}
</code> </code>



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

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

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


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

رمز PHP:
<code style="white-space:nowrap"> <code>

$query1
= mysql_query("SELECT * FROM `style`");
$getpath = mysql_fetch_array($query1);
$thamepath = $getpath&#91;'thame'&#93;;

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


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



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









©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©