+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة
النتائج 1 إلى 5 من 7
  1. #1
    المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute المـ،،،ـافـر has a reputation beyond repute الصورة الرمزية المـ،،،ـافـر
    تاريخ التسجيل
    10 / 08 / 2006
    الدولة
    السعودية - الجوف
    العمر
    43
    المشاركات
    3,370
    معدل تقييم المستوى
    7516

    Nominated Star آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع

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

    في البداية ، أبارك لكم صدور النسخه في مستواها التطويري الثالث لكافة الأعضاء ، سابقاً تحدثنا عن آلية المتغيرات في القوالب وما الجديد فيها من جمل شرطية والخ من ذلك ، على هذا الرابط

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

    1. آليه كاش القوالب مع تغير المتغير في هذا الجيل .
    2. أليه انشاء القوالب لعرضها بدون استخدام الداله eval
    3. كيفية انشاء المتغير لكي يعرض في القوالب بشكل سليم وخالي من المشاكل. أو بالاصح طباعه الصفحه بالكامل
    أليه كاش القوالب :-

    سابقاً كنا نستخدم الخطاف (Hook) - التالي cache_templates لعمل كاش للقوالب ، اي انه يتم استدعاء القوالب المخصصه لمنتجاتنا بدون ان نزيد استعلام . وايضاً لم يتغير اسم القالب في الجيل الجديد ، ولكن تغيرت الآليه .

    سابقاً كـ التالي :-


    كود PHP:
                           $globaltemplates array_merge($globaltemplates, array( 
        
    'my_template_name'
        
    'my_template_name1',  
        
    'my_template_name2' 
    )); 


    او كـ التالي :-



    كود PHP:
                           $globaltemplates[] = 'my_template_name'
    $globaltemplates[] = 'my_template_name1'
    $globaltemplates[] = 'my_template_name1'


    ولكن في الجيل الجديد ، تغيرت الآليه مع وجود نفس الخطاف السابق ، اصبحت كـ التالي :-



    كود PHP:
                           $cache array_merge($cache, array( 
        
    'my_template_name'
        
    'my_template_name1',  
        
    'my_template_name2' 
    )); 


    أو


    كود PHP:
                           $cache[] = 'my_template_name'
    $cache[] = 'my_template_name1'
    $cache[] = 'my_template_name1'


    بالنسبه لكاش القوالب ليس بالأمر الكبيرة / ولكنه مهم فأحببت ان اسهل العمل على اخواني ووقت البحث عن الآليه الجديدة

    سننتقل لما هو مهم الآن وهو القوالب وكيفية استخدامها :-

    سابقاً عندما نريد تعريف متغير يحتوي على قيمة قالب من قوالب المنتدى كنا نضعه في دالة eval مع عرض القالب بأستخدام fetch_template ولكن الآن تغيرت الآليه بشكل اراها أنا افضل بكثير عن سابقتها :-

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


    1- قالب عادي جداً يحتوي على أكواد هتمل نريد عرضها في متغير

    سابقاً


    كود PHP:
                           eval('$myvar = "' fetch_template('my_custom_template') . '";'); 


    ونستخدم $myvar لعرض المحتوى على حسب الرغبه من اضافته في القوالب او دمجه او او او

    ولكن هنا الآن اصبح كـ التالي : -



    كود PHP:
                           $myvar vB_Template::create('my_custom_template')->render(); 


    وهنا لم ننتهي ، حيث نستطيع استخدام $myvar في القوالب ولكن يُحبث ان نقوم بتعريفه كـ متغير كما ذكرناه في الموضوع السابق لكي يُعرض في القوالب . وساذكرها لاحقاً في نص هذا الموضوع ان شاء الله

    2- تعريف القالب في متغيرات مخصصه لاستخدامات الـ loop او while او foreach .. الخ

    سابقاً كنا نعرض مانريده من بيانات في داله تكرار ، بحسب البيانات وهنا ساذكر فقط while لتعدد اسخدماها واسهلها ان شاء الله

    فلنقل ان عندنا بيانات جلبناها من قاعدة البيانات ، ونريد عرض النتائج بشكل متوالي :-

    القالب (my_custom_template):-


    كود PHP:
    <div$myresult[name], $myresult[email], $myresult[joindate] </div
    سابقاً : كنا نكتب التالي لتكرار البيانات :-



    كود PHP:
                           while($myresult $vbulletin->db->fetch_array($myquery)) { 
        eval(
    '$myvar .= "' fetch_template('my_custom_template') . '";'); 



    ونستخدم $myvar لعرض البيانات في القوالب بكل بساطه !

    ولكن في الجيل الرابع :-

    القالب :-


    كود:
      <div> {vb:raw myresult.name}, {vb:raw myresult.email}, {vb:raw myresult.joindate} </div>[/HTML][PHP]while($myresult = $vbulletin->db->fetch_array($myquery)) {
         $templater = vB_Template::create('my_custom_template');
         $templater->register('myresult', $myresult);
         $myvar .= $templater->render();
     }

    ونستطيع استخدام $myvar ولكن نحتاج لكي نمررها على داله ، لكي تصبح جاهزة للعرض بالآليه الجديدة .

    إذاً ، انتهينا من تعريف القوالب ، عرضها بالأليه الجديدة والآن سأصل لما يقارب النهايه لذلك ، وهو طباعه الصفحه بالكامل

    سابقاً ، نستخدم داله eval متظمنه لدالة الفيبولتن print_output على الشكل التالي :-


    كود PHP:
                           eval('print_output("' fetch_template('my_final_custom_template') . '");'); 


    ولكن الآن الطريقة كـ التالي :- وهي تعريف المتغيرات السابقه كـ $myvar لعرضها والخ من تلك الأمور ، وتكون الطريقة كـ التالي :-


    كود PHP:
                           $templater vB_Template::create('my_final_custom_template'); 
    $templater->register_page_templates();// setup header, footer, headinclude. 
    $templater->register('myvar'$myvar);// my result from my loop.  
    print_output($templater->render()); 


    وإلى هنا اعتقد اني انهيت قسم القوالب ، وذكر ما تم تغييرة ، واي استفسار انا حاظر ،

    يُسمح بنقل الموضوع بشرط ذكر المصدر "آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع" ، واذا كنت من مستخدمين تويتر ، قم بالضغط هنا لكي يتم تحديث حالتك لنشر المعلومه قدر المستطاع

    أطيب وارق تحية ،
    أخوكم / الزعابي

    منقول

     
  2. #2
    الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold الوפـدانـيـﮯ is a splendid one to behold
    تاريخ التسجيل
    09 / 08 / 2008
    الدولة
    ديـ ابـو متعب ـار
    العمر
    41
    المشاركات
    685
    معدل تقييم المستوى
    947

    افتراضي رد: آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع




     
  3. #3
    ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute الصورة الرمزية ابو عيسى
    تاريخ التسجيل
    08 / 11 / 2007
    الدولة
    ليبيا - بنغازى
    العمر
    58
    المشاركات
    3,311
    معدل تقييم المستوى
    5906

    افتراضي رد: آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع

    مشكور على هذا الشرح الرائع والمميز
    متميز ومبدع يا اخى المسافر
    شرح مفيد ومهم
    جزاك الله خيرا ونفع بكم


     
  4. #4
    بوهويد will become famous soon enough بوهويد will become famous soon enough الصورة الرمزية بوهويد
    تاريخ التسجيل
    07 / 03 / 2008
    الدولة
    الدمام
    المشاركات
    1,558
    معدل تقييم المستوى
    1769

    افتراضي رد: آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع


     
  5. #5
    الماسة العراقية is a name known to all الماسة العراقية is a name known to all الماسة العراقية is a name known to all الماسة العراقية is a name known to all الماسة العراقية is a name known to all الماسة العراقية is a name known to all
    تاريخ التسجيل
    05 / 08 / 2008
    الدولة
    عراقية في مصر
    المشاركات
    384
    معدل تقييم المستوى
    632

    افتراضي رد: آلية المتغيرات الخاصة القوالب في ملفات php/ الخطاطيف للجيل الرابع



    بارك الله بك

     

 
+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

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