نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: May 2006-
#1 (permalink)  
شرح smarty template engene موضوع متجدد يومياً


[CENTER]بسم الله الرحمن الرحيم[/CENTER]
منذ بداية مشواري مع لغة ال php وحتي الان بحثت عن شرح لكيفية العمل مع ال smarty ولكني للاسف لم اجد اي مبرمج عربي تكلم عنه بتمعن ولكن الجميع يكتفي بالبداية فقط ففكرت في ان اهدي هذا الشرح لمنتدي سوالف لعل يكون به منفعة لاحد أعضاءه او زواره بسم الله سنبدأ

أولا عليك بتحميل نسخه من الرابط التالي smarty

ثانيا نفك الضغط ونبدأ بكتابة اول كود لنا مع ال smarty ونفتح اول صفحاتنا البرمجية ونكتب بأعلاها هذا الكود


[LEFT]
كود PHP:
<?php
define
('SMARTY_DIR','مكان فولدر smarty');
require_once(
SMARTY_DIR 'Smarty.class.php');
$smarty = new Smarty();
?>
[/LEFT]

ما معني هذا

اول شيء نضع مسار ملف Smarty.class.php والسطر الثاني لنخبره اننا سنستعملها الان

[LEFT]
كود PHP:
$smarty->template_dir 'مكان فولدر التمبلت ';
$smarty->compile_dir 'مكان فولدر الكاش للتمبلت';
$smarty->config_dir 'مكان فولدر الكونفيج';
$smarty->cache_dir 'مكان فولدر الكاش'
[/LEFT]


هذا بالنسبه للثوابت التي سوف تكون معنا بعون الله في جميع تعاملاتنا مع ال smarty ومن غداً ان شاء الله سوف نبدأ في الدخول في عالم القوالب بالتفصيل
[CENTER]--------------------------------------------------------------------------[/CENTER]

اليوم الثاني

بدايتك مع اول صفحه مع ال smarty
في البداية نود ان نعرف كيف نتعامل مع المتغيرات variables
ولتعيين متغير جديد يكتب بهذه الطريقه

[LEFT]
كود PHP:

$smarty
->assign('name','أحمد');
بدلاً من
$name
='أحمد'
[/LEFT]

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

[LEFT]
كود PHP:
{name
[/LEFT]

وبذلك نجد انفسنا الان قادرين علي كتابة اول صفحة لنا باستخدام تقنية smarty ان صح القول

أول شيء نقوم بعمل صفحة نسميها مثلا index.php ونكتب فيها الأتي

[LEFT]
كود PHP:

<?php
define
('SMARTY_DIR','مكان فولدر smarty');
require_once(
SMARTY_DIR 'Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir 'مكان فولدر التمبلت ';
$smarty->compile_dir 'مكان فولدر الكاش للتمبلت';
$smarty->config_dir 'مكان فولدر الكونفيج';
$smarty->cache_dir 'مكان فولدر الكاش';
$smarty->assign('name','أحمد');
//هذا لعرض ملف التمبلت واسمه هنا هو index.tpl
$smarty->display('index.tpl');
?>
[/LEFT]

وبعد ذلك وفي مجلد التمبلت الذي حددنا مساره نكتب هذا
[LEFT]
كود بلغة HTML:
<!DOCTYPE // html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html dir="rtl"> <head> <title>أول تجربه مع smarty</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /> </head> <body>
الأسم المخزن هو  {name}

</body> </html> 
[/LEFT]

الملفان في المرفقات بعنوان الدرس الاول المتغيرات

وهذا شرح مبسط لطريقة كتابة المتغيرات



--------------------------------------------
موضوع متجدد يومياً
نسألكم الدعاء

أخوكم أحمد فوزي






الملفات المرفقة
نوع الملف: zip الدرس الاول المتغيرات.zip‏ (919 بايت, المشاهدات 397)
__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 09-09-2006, 04:13 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#2 (permalink)  

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






ArabItClub غير متواجد حالياً   قديم 09-09-2006, 08:31 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

مشكور أخي ArabItClub وان شاء الله تابع معي الموضوع فسوف تجد جديداً كل يوم ان شاء الله
[CENTER]--------------------------------------------------------------------------[/CENTER]


نظراً لانتهاء وقت التعديل اعلاه سوف نكمل هنا

[CENTER]-----------------------------------------------------------------------[/CENTER]

اليوم الثالث

التعليقات
كيف نكتب تعليقاً في ال smarty الأمر بسيط جدا فقط بهذه الطريقه

[LEFT]
كود PHP:


{*
هنا نكتب التعليق الذي نريده سواء سطر واحد أو عده أسطر
*} 
[/LEFT]

الادراج
كيف يمكننا ادراج ملف في ملف التمبلت فلنفرض مثلا عندنا ملف هيدر وملف فوتر ونريد ادراجهما داخل ملف التمبلت الخاص بالانديكس كيف نفعل ذلك

[LEFT]
كود PHP:

{include file="header.tpl"}

هنا كود ال html 

{include file="footer.tpl"
[/LEFT]


مع الاخذ في الاعتبار ان header.tpl هو اسم ملف الهيدر و footer.tpl هو اسم ملف الفوتر
[CENTER]

---- -----
--- ---
------
--
-
[/CENTER]

التكملة سوف تكون بالأسفل ان شاء الله
--------------------------------------------------
ملحوظه:
أحاول تخفيف الماده حتي لايشتت المتابعين






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 09-09-2006, 05:09 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#4 (permalink)  

جزاك الله كل خير






Hawy PHP غير متواجد حالياً   قديم 09-09-2006, 05:48 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#5 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Hawy PHP
جزاك الله كل خير
وجزاك ياهاوي وجزي جميع المسلمين خيراً






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 09-09-2006, 07:54 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#6 (permalink)  

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






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 09-09-2006, 07:59 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Sep 2006-
#7 (permalink)  

ونحن في أنتظارك






DrNet غير متواجد حالياً   قديم 10-09-2006, 12:57 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Sep 2006-
#8 (permalink)  

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






4img.com غير متواجد حالياً   قديم 10-09-2006, 01:12 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#9 (permalink)  

جزاك الله خيراً و ننتظر باقى الدروس






elMASry غير متواجد حالياً   قديم 10-09-2006, 02:57 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#10 (permalink)  

اقتباس:
DrNet
ونحن في أنتظارك
ان شاء الله اتمني الاستفاده وشكراً لانتظارك

اقتباس:
4img.com
الله يعطيك ألف ألف عااااااااااافية
الله يحفظك أخي

اقتباس:
elMASry
جزاك الله خيراً و ننتظر باقى الدروس
ان شاء الله تجدها كل يوم






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 10-09-2006, 05:42 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#11 (permalink)  

اسف علي التاخير ولكن لانشغالي هذه الايام وساعود اليكم في غضون يومين بأذن الله






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 12-09-2006, 04:26 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#12 (permalink)  

مشكووور يالغلا






__________________
لا تجادل الأحمق , فقد يخطئ الناس في التفريق بينكما
أبوبسام غير متواجد حالياً   قديم 14-09-2006, 05:39 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#13 (permalink)  

كنت استخدم السمارتي سابقا ولكن كان بطيئ جدا .. خصوصا اذا كان الموقع المستخدم فيه البرنامج عليه ضغط كبير

قررت ان ابرمج واحد خاص بي ولكن لضيق الوقت لم اكمله

وبالصدفة اكتشفت Template Lite محرك قوالب نفس السمارتي لكن اسرع ، نفس tags
مما وفر علي تعديل 160 قالب ..

http://sourceforge.net/projects/templatelite/

انصحكم بتجربته






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 15-09-2006, 05:10 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#14 (permalink)  

مشكوررررررررررررررررررررررررررررررين جدا اخواني ومنتظرين المزيد






midostar غير متواجد حالياً   قديم 15-09-2006, 02:45 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#15 (permalink)  

مشكور يالغالي درس جميل ...

بس تعقيب بسيط اذا سمحت لي

{name} أظن الصحيحة {name$} او نسخة قديمة يمكن ؟ ...
أيضا compile_dir أظن ان المقصود فيها التمبلتات بعد معالجتها ليتمكن محرك php بقرائتها ...

وواصل بارك الله فيك...






__________________
موقع رياض القرآن متخصص بالقرآن الكريم
WwW.Ryadh-Quran.NeT
لمراسلتي
رياض القرآن غير متواجد حالياً   قديم 16-09-2006, 07:07 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#16 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة رياض القرآن
مشكور يالغالي درس جميل ...

بس تعقيب بسيط اذا سمحت لي

{name} أظن الصحيحة {name$} او نسخة قديمة يمكن ؟ ...
أيضا compile_dir أظن ان المقصود فيها التمبلتات بعد معالجتها ليتمكن محرك php بقرائتها ...

وواصل بارك الله فيك...
مشكور أخي رياض القرآن وكلامك صحيح 100 % والمقصود بهم كما قلت {name} الصحيحة {name$} كما ان compile_dir بالتقريب كما قلت ولكن هذا من سهوي لسرعه كتابتي الدرس يمكن نسميها غلطة مطبعية ومشكور علي التصحيح






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 16-09-2006, 10:20 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Sep 2006-
#17 (permalink)  

الله يعطيك العافية شرح ولا أروع


وفعلا هذا النظام من اقوى أنظمة القوالب


سأجرب به سكربت صغير جدا باذن الله في الايام القادمة






__________________
للتواصل
http://saafer.raslny.com
سفير التقنية غير متواجد حالياً   قديم 14-10-2006, 07:45 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2004-
#18 (permalink)  

الف الف شكرا

استفدنا مما كتبت

وننتظر اكمال الشرح

وكيفة قراءة معلومات كثيرة من قاعدة البيانات

سجلاات كثيرة

املنا فيك كبير


تحياتي






__________________
سبحان الله وبحمده ..... سبحان الله العظيم

اول موقع متخصص في جمع البرامج المعربة
الريان نت للبرامج المعربة
www.ar1ar.com
ابو مشاري 97 غير متواجد حالياً   قديم 22-12-2006, 06:32 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#19 (permalink)  

مشكور اخي ابو مشاري علي ردك الجميل
والله اني قد نسيت هذا الموضوع لعدم التجاوب ولكن لاجلك ابو مشاري سوف اكمل المسيره بأذن الله ولكني لست بالمنزل الان اوعدك فور رجوعي ستري التكملة بأذن الله






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 23-12-2006, 03:26 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#20 (permalink)  

شرح جميل

ننتظر المزيد مما علمك الله






__________________
سبحان الله والحمد لله ولا اله الا الله والله اكبر
افضل [ بيج رانك 4 ] <<< كان سابقا .. الحين 2 :(
abady 999 غير متواجد حالياً   قديم 23-12-2006, 04:38 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2004-
#21 (permalink)  

بارك الله فيك


ننتظرك على صفيح ساخن


وشكري لك مقدما






__________________
سبحان الله وبحمده ..... سبحان الله العظيم

اول موقع متخصص في جمع البرامج المعربة
الريان نت للبرامج المعربة
www.ar1ar.com
ابو مشاري 97 غير متواجد حالياً   قديم 25-12-2006, 03:13 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#22 (permalink)  
اليوم الرابع

اليوم الرابع

الدوال
كيف نكتب الدوال في ال smarty الأمر في غايه السهولة
اذا اردنا مثلا ان نكتب احد الدوال الشرطيه مثلاً if كيف تكون انظر هنا
[LEFT]
كود:
{if $thisuser}
    مرحباً بك يا , {$name}
{else}
   هذا الاسم خطأ, {$name}
{/if}
[/LEFT]

طيب ماذا لو اردنا عمل داله خاصة بنا وتفعيلها داخل ال smarty


[LEFT]
كود:

<?php
$smarty->register_function('user_name', 'echo_user_name');

function echo_user_name($name, &$smarty)
{
    return $name;
}
?>
[/LEFT]

نكتفي اليوم وبعد التجربة سوف نكمل






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 25-12-2006, 11:38 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#23 (permalink)  

شكرا استاذي

نزلت الملف من موقع سمارتي وحاولت تطبيق شرحك الواااضح

وعند كتابة اول جملةشرحتها بالدرس الاول ظهرت لي


Warning: main(Smarty-2.6.16Smarty.class.php): failed to open stream: No such file or directory in d:\appserv\www\test\smartytemplate\bb.php on line 3


اي ان ملف marty.class.php غير موجود وهو كذلك

ياليت توفر لنا النسخة المناسبة او التي تعمل عليها



تحياتي






__________________
سبحان الله والحمد لله ولا اله الا الله والله اكبر
افضل [ بيج رانك 4 ] <<< كان سابقا .. الحين 2 :(
abady 999 غير متواجد حالياً   قديم 25-12-2006, 12:29 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#24 (permalink)  

أخي abady 999
الموضوع ليس له علاقة بالاصدار تأكد من كتابة المسار بصوره صحيحه او ارفق الكود الذي كتبته مع ذكر مسار مجلد الــ smarty






__________________
أحمد فوزي
مبرمج PHP
مدونتي الشخصية
العربي لخدمات المواقع
TheArabi غير متواجد حالياً   قديم 25-12-2006, 02:02 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#25 (permalink)  

يعطيك العافية على الموضوع وننتظر تكلمته إن أمكن






الطائر الحر غير متواجد حالياً   قديم 23-03-2007, 05:28 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 07:49 AM بتوقيت المملكة العربية السعودية