شوّيت: شبكة كرة قدم اجتماعية


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

الرد على الموضوع
 
LinkBack أدوات الموضوع
لا إله إلا الله
#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>
و بهذا نكون إنتهينا من درس اليوم

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

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

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

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

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






الملفات المرفقة
نوع الملف: zip com_example.zip‏ (1.9 كيلوبايت, 13 مشاهدة)
__________________
* إسألني
* راسلني

آخر تعديل بواسطة خالد الحضري في 09-04-2009 الساعة 07:07 AM.
خالد الحضري is offline   قديم 09-04-2009, 06:45 AM
الرد مع إقتباس
عضو فعال جدا
#2  

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






__________________
مجتمع الفيبولتين العربي ( موقع عربي دعم للنسخة vBulletin باللغه العربية, متخصص في حل مشاكل - تحميل اضافات النسخة - هاكات مفيدة - دعم فني مجاني ),
طريق الاتصال بي :
vBulletin-arabic - twitter - facebook - Googleplus
ahmed-samara is offline   قديم 13-04-2009, 05:10 AM
الرد مع إقتباس
الرد على الموضوع


 

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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
[joomla]درس برمجة مكون بسيط خالد الحضري الهاكات والإضافات 2 09-04-2009 01:13 AM
[joomla]درس برمجة موديل بسيط خالد الحضري الهاكات والإضافات 0 07-04-2009 02:49 AM
الدرس الثالث-- المتغيرات sh2soft.net PHP 5 15-02-2005 01:42 AM
درس في الفو توشوب { الدرس الثالث } { Define Brush} راشد الكواري2 التصميم والرسومات والمونتاج 13 14-05-2002 01:02 AM
لغة ديلفي - الدرس الثالث أبو ماجد الصارم الأخبار المتعلقة بالإنترنت والتقنية 3 03-05-2000 09:44 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 06:31 AM.