ط§ظ„ط£ط®ظٹط± {ط§ظ„ط¯ط±ط³ ط§ظ„ط®ط§ظ…ط³}~~ ط´ط±ط* ظ†ط¸ط§ظ… ظ‚ظˆط§ظ„ط¨ Smarty ظ„ظ„ظ…ط¨طھط¯ط¦ظٹظ† ~~ [طھط´ط؛ظٹظ„ ط¯ظˆط§ظ„ PHP ظپظٹ Smarty]



:: السلام عليكم ورحمة الله وبركاته ::


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




لقد وصلنا الى آخر درس مفصل في نظام قوالب 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=&quot;rtl&quot;> <head> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1256&quot;> <meta http-equiv=&quot;Content-Language&quot; content=&quot;ar-sa&quot;> <title>شرح طريقة تشغيل دوال بي اتش بس في سمارتي</title> </head> <body> <table border=&quot;1&quot; width=&quot;100%&quot; id=&quot;table1&quot;> <tr> <td bgcolor=&quot;#F2FCFF&quot;> <p align=&quot;center&quot;><b><font size=&quot;6&quot;>جدول الحساب</font></b></td> </tr> <tr> <td>&nbsp;<p align=&quot;center&quot;>&nbsp;</p> <p align=&quot;center&quot;>&nbsp;</td> </tr> </table> </body> </html>
احفظه باسم func.htm في مجلد templates


اضغط على ( معاينة ) في الفرونت بيج :







والآن نريد عرض الدالة الحسابية في وسط الجدول :







نضف هذا الكود code في وسط الجدول :

رمز PHP:
<code style="white-space:nowrap"> <code> {smarty_math}
</code> </code>



صورة توضيحية :







او يمكنك نسخ الكود code كاملا ولصقه في الفرونت بيج :

رمز Code:
<html dir=&quot;rtl&quot;> <head> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1256&quot;> <meta http-equiv=&quot;Content-Language&quot; content=&quot;ar-sa&quot;> <title>شرح طريقة تشغيل دوال بي اتش بس في سمارتي</title> </head> <body> <table border=&quot;1&quot; width=&quot;100%&quot; id=&quot;table1&quot;> <tr> <td bgcolor=&quot;#F2FCFF&quot;> <p align=&quot;center&quot;><b><font size=&quot;6&quot;>جدول الحساب</font></b></td> </tr> <tr> <td>&nbsp;<p align=&quot;center&quot;>{smarty_math}</p> <p align=&quot;center&quot;>&nbsp;</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

لا تنسونا من صالح دعواتكم

وفقنا الله جميعا لما يحبه ويرضاه

اخوكم في الله ابو طارق




:: السلام عليكم ورحمة الله وبركاته ::







الملفات المرفقة [TR]
Smarty Manual.zip (315.2 كيلوبايت, عدد مرات المشاهدة 311 مرة) [/TR]
[TR]
Smarty.Function.zip (105.7 كيلوبايت, عدد مرات المشاهدة 195 مرة) [/TR]



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