النتائج 1 إلى 2 من 2

الموضوع: [joomla]-[درس]برمجة المكونات - الدرس الثالث

  1. #1

    [joomla]-[درس]برمجة المكونات - الدرس الثالث



    السلام عليكم
    اليوم بإذن الله سنضيف شريط أزرار التحكم إلى المكون الذي بدأنا ببرمجته في الدرس السابق .
    مثال عن شريط الأزرار :



    لذلك إن كنت تحضر أول درس لي هنا فعليك لزاما أن تراجع الروابط :
    [درس]برمجة موديل بسيط
    [درس]برمجة مكون بسيط [الدرس الأول]
    * أو إبحث عن نفس الدروس موجودة في هذا القسم

    نبدأ بإسم الله تعالى .

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

    ننشئ ملفين ، الأول
    كود PHP:
    toolbar.example.html.php 
    و هو الملف المسؤول عن إستدعاء عناصر الشريط و كذلك التنسيق .
    و
    كود PHP:
    toolbar.example.php 
    هو الملف الحامل لكود ربط الشريط بالمكون

    نفتح الملف
    كود PHP:
    toolbar.example.html.php 
    و نضع فيه
    كود PHP:
    <?php
    defined
    '_JEXEC' ) or die( 'الوصول المباشر لهذه الصفحة غير مسموح' );
    كالعادة كود بداية ملف php ثم سطر منع الدخول المباشر بالإضافة إلى إعلان الإنتماء إلى المجلة .

    ثم ننشئ الكلاس

    كود PHP:
    class TOOLBAR_example 
    بإسم
    كود PHP:
    TOOLBAR_example 
    داخله نكتب الدالة الأولى و هي مسؤولة عن الأزرار التي ستظهر عند الضغط على زر [جديد] ، أي أننا لن نراها الآن و إنما سنعمل عليها مستقبلا
    كود PHP:
        function _NEW() { 
    و إسمها
    كود PHP:
    _NEW 
    و هذا الإسم معد مسبقا و لا نستطيع تغييره

    ثم محتوى الدالة سيكون :
    كود PHP:
            JToolBarHelper::save();
            
    JToolBarHelper::apply();
            
    JToolBarHelper::cancel(); 
    هنا إستدعينا ثلاثة أزرار و هي [حفظ ، تنفيذ ، إلغاء]
    لاحظوا معي أننا إستخدمنا الحرف
    كود PHP:

    في بداية كل سطر ثم
    كود PHP:
    ToolBarHelper:: 
    و هي كلاسات جاهزة و مكانها
    كود PHP:
     /plugins/system/legacy/toolbar.php 
    و سنوعود إليها في دروس متقدمة إن شاء الله .
    نغلق الدالة :
    كود PHP:
        
    الآن ننشئ دالة جديدة و ستكون مسؤولة عن الأزرار التي تكون ظاهرة إفتراضيا بعد الدخول إلى المكون من لوحة التحكم
    و الدالة إسمها
    كود PHP:
    _DEFAULT 
    أي كالتالي
    كود PHP:
        function _DEFAULT() { 
    هنا رأيت أن أعرض عليكم جميع الأزرار المتوفرة في المجلة ، الكود و الصورة :
    كود PHP:
            JToolBarHelper::titleJText::_'إدارة المكون Example' ), 'generic.png' ); 
    عنوان المكون و الصورة



    كود PHP:
            JToolBarHelper::save(); 

    كود PHP:
            JToolBarHelper::back(); 

    كود PHP:
            JToolBarHelper::addNew(); 

    كود PHP:
            JToolBarHelper::editList(); 

    كود PHP:
            JToolBarHelper::trash(); 

    كود PHP:
             JToolBarHelper::deleteList(); 

    كود PHP:
            JToolBarHelper::publish(); 

    كود PHP:
             JToolBarHelper::publishList(); 

    كود PHP:
             JToolBarHelper::makeDefault(); 

    كود PHP:
             JToolBarHelper::assign(); 

    كود PHP:
            JToolBarHelper::unpublish(); 

    كود PHP:
             JToolBarHelper::unpublishList(); 

    كود PHP:
            JToolBarHelper::archiveList(); 

    كود PHP:
            JToolBarHelper::unarchiveList(); 

    كود PHP:
            JToolBarHelper::editHTML(); 

    كود PHP:
            JToolBarHelper::editCSS(); 

    كود PHP:
            JToolBarHelper::preview(); 

    كود PHP:
            JToolBarHelper::media_manager(); 

    كود PHP:
            JToolBarHelper::apply(); 

    كود PHP:
            JToolBarHelper::cancel(); 

    طبعا يمكنكم إضافة أزرار خاصة و لكن ليس الآن

    نغلق الدالة _NEW
    كود PHP:

    نغلق الكلاس
    كود PHP:

    نغلق ملف الـ PHP
    كود PHP:
    ?> 
    و يكون الناتج :

    كود PHP:
    <?php
    defined
    '_JEXEC' ) or die( 'الوصول المبائر لهذه الصفحة غير مسموح' );

    class 
    TOOLBAR_example {

        function 
    _NEW() {
            
    JToolBarHelper::save();
            
    JToolBarHelper::apply();
            
    JToolBarHelper::cancel();        
        }

        function 
    _DEFAULT() {

            
    JToolBarHelper::titleJText::_'إدارة المكون Example' ), 'generic.png' );
            
    JToolBarHelper::save();    
            
    JToolBarHelper::back();     
            
    JToolBarHelper::addNew();     
            
    JToolBarHelper::editList();     
            
    JToolBarHelper::trash();
             
    JToolBarHelper::deleteList();     
            
    JToolBarHelper::publish();
             
    JToolBarHelper::publishList();
             
    JToolBarHelper::makeDefault();
             
    JToolBarHelper::assign();     
            
    JToolBarHelper::unpublish();
             
    JToolBarHelper::unpublishList();     
            
    JToolBarHelper::archiveList();     
            
    JToolBarHelper::unarchiveList();     
            
    JToolBarHelper::editHTML();     
            
    JToolBarHelper::editCSS();     
            
    JToolBarHelper::preview();     
            
    JToolBarHelper::media_manager();     
            
    JToolBarHelper::apply();     
            
    JToolBarHelper::cancel();     
        }
    }
    ?>
    إنتهينا من الملف
    كود PHP:
    toolbar.example.html.php 
    الآن نفتح الملف :
    كود PHP:
    toolbar.example.php 
    و نضع فيه :

    كود PHP:
    <?php
    defined
    '_JEXEC' ) or die( 'الوصول المبائر لهذه الصفحة غير مسموح' );
    و الذي نعرف معناه

    ثم الدالة الرابطة للشريط بالمكون
    كود PHP:
    require_once( JApplicationHelper::getPath'toolbar_html' )); 
    وهي مجهزة من قبل و ما عليك إلا تكرارها كل مرة
    الآن نستخدم أداة الشرط switch
    كود PHP:
    switch ( $task )

    إستخدمنا هنا المتغير
    كود PHP:
    $task 
    و هو متغير معد مسبقا مع المجلة
    نفتح التحقق الأول بالعبارة
    كود PHP:
        case 'add'  
    و مهمتها التحقق هل أنت قمت بمحاولة إضافة مادة جديدة من لوحة التحكم من الزر

    نضيف
    كود PHP:
            TOOLBAR_example::_NEW(); 
    فإذا أنت ضغطت على الزر [جديد] فهذا يعني أن الأزرار التي ستظهر في الشريط هي الأزرار التي حددناها فوق في الدالة :
    كود PHP:
        function _NEW() 
    من ملف
    كود PHP:
    toolbar.example.html.php 
    الآن نغلق التحقق بـ
    كود PHP:
            break; 
    نكتب
    كود PHP:
        default: 
    وهي حالة الشريط الإفتراضيه عند الدخول إلى المكون و دون الضغط على أي زر
    الحالة الإفتراضية هي :
    كود PHP:
            TOOLBAR_example::_DEFAULT(); 
    أي الدالة
    كود PHP:
        function _DEFAULT() 
    من ملف
    كود PHP:
    toolbar.example.html.php 
    نغلق التحقق
    كود PHP:
            break; 
    أو لا نغلقه ، لا يشكل أي مشكل لأنه يخرج من التحقق مباشرة

    نغلق الأداة الشرطية switch
    كود PHP:

    نغلق ملف الـ php
    كود PHP:
    ?> 
    و يكون الناتج النهائي
    كود PHP:
    <?php
    defined
    '_JEXEC' ) or die( 'الوصول المبائر لهذه الصفحة غير مسموح' );

    require_once( 
    JApplicationHelper::getPath'toolbar_html' ));

    switch ( 
    $task )
    {
        case 
    'add'  :
            
    TOOLBAR_example::_NEW();
            break;

        default:
            
    TOOLBAR_example::_DEFAULT();
            break;
    }
    ?>
    إنتهينا تقريبا

    الآن من ملف الـ XML الذي أنشأناه في الدرس السابق
    كود PHP:
    example.xml 
    بعد التعريف
    كود PHP:
    <administration
    نجد الملفات التي نريد نقلها لمجلة الإدارة
    و كنا وضعنا
    كود PHP:
    <filename>admin.example.php</filename
    نضيف الملفين الذين أنشأناهما بنفس الطريقة
    كود PHP:
    <filename>toolbar.example.html.php</filename>
    <
    filename>toolbar.example.php</filename
    و يكون ناتج ملف الـ XML [إضافة إلى مكوناته من الدرس السابق]
    كود PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <install version="1.5" type="component">
    <name>Example</name>
    <version>1.0</version>
    <creationDate>08.04.2009</creationDate>
    <author>Rifizm - JoomlaUT</author>
    <authorEmail>rifizm@joomlaut.org</authorEmail>
    <authorUrl>http://www.joomlaut.org</authorUrl>
    <copyright>JoomlaUT 2009</copyright>
    <license>GNU General Public License</license>
    <description>Example Component By JoomlaUT</description>
    <files>
    <filename component="example">example.php</filename>
    </files>
    <administration>
    <menu>example</menu>
    <files>
    <filename>admin.example.php</filename>
    <filename>toolbar.example.html.php</filename>
    <filename>toolbar.example.php</filename>
    </files>
    </administration>
    <params />
    </install>
    و بهذا نكون إنتهينا من درس اليوم

    * الموضوع الأصلي

    * لا زلنا بحاجة لأعضاء جدد بالفريق [مبرمجين و غير مبرمجين]

    * الموضوع مفتوح المصدر

    * المكون بالمرفقات

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





    الملفات المرفقة الملفات المرفقة
    التعديل الأخير تم بواسطة خالد الحضري ; 09-04-2009 الساعة 08:07 AM


  2. #2


    جزاك الله كل الخير اخي الفاضل ....





    __________________
    حسابي فيسبوك
    https://www.facebook.com/ahmedo.vip/

    المبرمج
    http://www.almprmg.com/

    شركة اوريكو لتكنولوجيا المعلومات - استضافة وبرمجة المواقع | خدمات السوشيال ميديا
    http://www.orico.com.eg





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

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

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