:: السلام عليكم ورحمة الله وبركاته ::
بسم الله الرحمن الرحيم
لقد وصلنا الى آخر درس مفصل في نظام قوالب
Smarty ودرس مفصلنا الأساسيات ,المتغيرات ,التكرار,الاستدعاء
وان شاء الله راح ندرس مفصل آخر درس مفصل في
Smarty وهو درس مفصل تشغيل دوال
PHP في
Smarty
:::
< متطلبات الدرس مفصل > :::
قراءة جميع الدروس :
{الدرس مفصل الأول}~~ شرح طريقة نظام قوالب Smarty للمبتدئين ~~[الأساسيات]
{درس مفصل الثاني}~~ شرح طريقة نظام قوالب Smarty للمبتدئين ~~ [المتغيرات في Smarty]
{الدرس مفصل الثالث}~~ شرح طريقة نظام قوالب Smarty للمبتدئين ~~ [التكرار في Smarty]
{الدرس مفصل الرابع}~~ شرح طريقة نظام قوالب Smarty للمبتدئين ~~ [إستدعاء الملفات في Smarty]
:::
< متطلبات الدرس مفصل / > :::
:-ملاحظة -:
(
من المفترض ان تكون لك خلفية عن الـ PHP لكي تتابع معنا)
الطريقة في انشاء
Smarty هو انك تعمل مجلد تسميه اي اسم ولكن في العملية راح نسميه
smarty_func ثم تنسخ مجلد
libs وهو ياتي مع نظام
Smarty
ولقد تحدثنا عنه في الدورس السابقة ثم انشئ مجلدين فرعيين
templates و
compile طبعا هذه الأسماء الافتراضية في
Smarty ويمكنك تغيير أسماء المجلدات مع تغيير ما يلزم في ملف
Smart.class.php وذكرنا الطريقة في الدرس مفصل الاول
ودرس مفصلنا اليوم راح نتعرف على امر جديد من اوامر Smarty وهو :
رمز PHP:
<code style="white-space:nowrap"> <code> register_function( ' temp_vari ' , ' php_vari ' )
</code> </code>
وتاخذ مدخلين :
الاول : تضع اسم في قالب template تصميم وتضعه في اي مكان يعجبك واي اسم يعجبك بهذ الشكل :
رمز PHP:
<code style="white-space:nowrap"> <code> {temp_vari}
</code> </code>
لاحظوا الاسم بدون علامة الدولار
$ الذي تعلمناه في الدرس مفصل السابق
اذا وضعت علامة الدولار فسيكون متغير وليس اسم عادي
فتذكروا عندما تريدون وضع دالة في القالب template يجب وضع اسم وليس متغير
الثاني : وضع الدالة التي موجودة في
PHP واستبدالها بالاسم الذي موجود في القالب template
::: -
شرح طريقة مبسط - :::
(
الاسم هو وسيلة لعرض مكان
الدالة في القالب template )
خطة العمل :
1 - برمجة ملف
math.php لوضع الدالة وستكون دالة حسابية
2 - برمجة ملف
func.htm وهو ملف تصميم يضع فيه الاسم ليستبدل بالدالة ولعرض العملية الحسابية
3 - برمجة ملف
index.php وهنا يستبدل مكان الاسم بدالة
PHP في القالب template
1 - برمجة ملف
math.php لوضع الدالة وستكون دالة حسابية
اولا : انشئ ملف اسمه
math.php وثم ضع بداخله الكود code التالي :
رمز PHP:
<code style="white-space:nowrap"> <code> <?php
function php_math(){
$a = 5;
$b = 15;
$c = $a + $b;
echo $a." + ".$b." = ".$c;
}
?> </code> </code>
واحفظه في المجلد الرئيسي
smarty_func
دالة
php_math هي دالة من صنعنا ويوجد بداخلها عملية حسابية
الآن لنستعرض الملف في المتصفح ولكن قبل الاستعراض اضف هذا الكود code البسيط لتشغيل الدالة قبل نهاية الكود code في ملف
math.php :
رمز PHP:
<code style="white-space:nowrap"> <code> php_math();
</code> </code>
صورة توضيحية :
الآن نستعرض الملف في المتصفح :
حلو الآن كل شي تمام بس قبل اكمال العمل
اطلب منك طلب احذف الكود code اللي اضفناه آخر شي وهو الكود code :
رمز PHP:
<code style="white-space:nowrap"> <code> php_math();
</code> </code>
ويرجع الملف مثل قبل ويصير بهذا الشكل :
لا يحتاج الى كود code الشتغيل لأنه سيشتغل تلقائيا في
Smarty
2 - برمجة ملف
func.htm وهو ملف تصميم يضع فيه الاسم ليستبدل بالدالة ولعرض العملية الحسابية
افتح الفرونت بيج ثم اضف الكود code التالي :
رمز Code:
<html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> <meta http-equiv="Content-Language" content="ar-sa"> <title>شرح طريقة تشغيل دوال بي اتش بس في سمارتي</title> </head> <body> <table border="1" width="100%" id="table1"> <tr> <td bgcolor="#F2FCFF"> <p align="center"><b><font size="6">جدول الحساب</font></b></td> </tr> <tr> <td> <p align="center"> </p> <p align="center"> </td> </tr> </table> </body> </html>
احفظه باسم
func.htm في مجلد
templates
اضغط على ( معاينة ) في الفرونت بيج :
والآن نريد عرض الدالة الحسابية في وسط الجدول :
نضف هذا الكود code في وسط الجدول :
رمز PHP:
<code style="white-space:nowrap"> <code> {smarty_math}
</code> </code>
صورة توضيحية :
او يمكنك نسخ الكود code كاملا ولصقه في الفرونت بيج :
رمز Code:
<html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> <meta http-equiv="Content-Language" content="ar-sa"> <title>شرح طريقة تشغيل دوال بي اتش بس في سمارتي</title> </head> <body> <table border="1" width="100%" id="table1"> <tr> <td bgcolor="#F2FCFF"> <p align="center"><b><font size="6">جدول الحساب</font></b></td> </tr> <tr> <td> <p align="center">{smarty_math}</p> <p align="center"> </td> </tr> </table> </body> </html>
3- برمجة ملف
index.php وهنا يستبدل مكان الاسم بالدالة التي موجود في ملف
math.php في القالب template
انشئ ملف وسميه
index.php واضف الكود code التالي :
رمز PHP:
<code style="white-space:nowrap"> <code> <?php
// استدعاء ملف الأساسي لـسمارتي
include("libs/Smarty.class.php");
// استدعاء ملف الدالة التي سيتم وضعها في القالب template
include("math.php");
// انشاء كائن سمارتي
$smarty = new Smarty;
###############################
###############################
// استبدال الاسم الموجود في القالب template الى الدالة الحسابية
$smarty->register_function('smarty_math','php_math');
// عرض ملف التصميم بعد اتمام العملية
$smarty->display("func.htm");
?> </code> </code>
شرح طريقة عمل الكود code :
رمز PHP:
<code style="white-space:nowrap"> <code> // استدعاء ملف الأساسي لـسمارتي
include("libs/Smarty.class.php");
</code> </code>
استدعينا ملف
Smarty.class.php وهو ملف لانشاء
Smarty في برمجياتك
رمز PHP:
<code style="white-space:nowrap"> <code> // استدعاء ملف الدالة التي سيتم وضعها في القالب template
include("math.php");
</code> </code>
استدعينا ملف الذي توجد به الدالة الحسابية والتي سيتم وضعها في وسط الجدول عن طريق
Smarty
رمز PHP:
<code style="white-space:nowrap"> <code> // انشاء كائن سمارتي
$smarty = new Smarty;
</code> </code>
انشأنا كائن
Smarty باستخدام امر
new وطبعا
Smarty مبرمج بالكائنات ويجب انشاء الكائن اولا ثم البدء بالبرمجة
رمز PHP:
<code style="white-space:nowrap"> <code> // استبدال الاسم الموجود في القالب template الى الدالة الحسابية
$smarty->register_function('smarty_math','php_math');
</code> </code>
وصلنا الى امر جديد من اوامر
Smarty وهي تاخذ مدخلين
الاول : اسم الموجود في قالب template التصميم وهو
smarty_math وهو في ملف
func.htm
الثاني : اسم الدالة الحسابية ويتم استبدالها بمكان المدخل الاول والدالة موجودة في ملف
math.php
رمز PHP:
<code style="white-space:nowrap"> <code> // عرض ملف التصميم بعد اتمام العملية
$smarty->display("func.htm");
</code> </code>
عرضنا ملف التصميم في صفحة الانترنت بأمر
dispaly وهو أمر عرض الملفات التصميم في
Smarty
الآن نستعرض ملف
index.php ونرى النتيجة :
يا سلااااااام عليك الف مبرووووك لقد تعلمت تشغيل الدوال في Smarty
صورة توضيحية لخطة العمل :
العمل كاملاً في
المرفقات
الى هنا انتهى آخر درس مفصل في
Smarty
واعتبر نفسك اتقنت
Smarty وماهو مهم في فصل الكود code عن التصميم
وارفقت
Smarty Manual ليكون مرجعك في
Smarty والبحث عن اي دالة او عملها
بعد فك الضغط راح تحصل ملفات
HTML كثيرة افتح ملف
index.html وابدا بمعرفة عالم
Smarty
او يمكنك تحميل من الموقع الرئيسي:
http://www.smarty.net/download-docs.php
وطبعا لانتسون الهدية
كتاب الكتروني يوجد به جميع مواضيعي لتعليم نظام قوالب
Smarty
:: تحميل الكتاب ::
بسم الله الرحمن الرحيم
الشكر الى الله ثم الى المنتديات التالية :
منتديات ديزاد باتنة
منتديات بكسل
منتديات بي اتش بي
بردودهم التشجيعية في اكمال الدروس بارك الله فيهم
ان شاء الله نتقابل بدروس آخرى في لغات برمجية آخرى
وان شاء الله اكون وفقت في الشرح طريقة واستفدتوا من جميع الدروس عن
Smarty
لا تنسونا من صالح دعواتكم
وفقنا الله جميعا لما يحبه ويرضاه
اخوكم في الله ابو طارق
:: السلام عليكم ورحمة الله وبركاته ::