[كليجا] كيف تصنع اضافه/ هاك لكليجا , موضوع خاص بالمطورين !

دروس لا تتعلق بأي الأقسام الأخرى ..
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: الاثنين أغسطس 30, 2004 1:54 pm

[كليجا] كيف تصنع اضافه/ هاك لكليجا , موضوع خاص بالمطورين !

مشاركة بواسطة saanina »

اهلاً ..

هذا موضوع قديم، تم تغيير نظام الاضافات في كليجا بشكل كامل تماماً

في كليجا هناك نظام اضافات مستقل , يستطيع معه المستخدم من اضافة الاضافات وتعطيلها بظغطه زر !

الموضوع ممتع ايضا للمطورين والمستخدمين معاً ..


- فكيف انا "كمطور" استطيع ان أنشأ اضافتي الخاصه بكليجا ؟

الاضافه هي تغيير كود برمجي او اضافه كود على الكود الاصلي .. والاضافات التقليديه هي البحث و الاضافة والاستبدال .
اما النظام الحالي بكليجا فيعتمد على "الخطاطيف" او مايسمى بال hooks
كل مكان مهم تم وضع خطّاف باسم معين
واذا اردت استخدامه تقوم فقط باخذ الاسم ووضعه في ملف الاضافه ال xml

- هلا اوضحت لنا خطوه بخطوه ؟

كل اضافه او اغلب الاضافات لها ملف xml , هذا الملف يحوي بيانات الاضافه والاكواد البرمجيه .

حمل الاضافه الخاصه بالاخ صالح المطرفي
limit_size_download plugin.zip

لنشرح عليها ..

فمكونات ملف الاضافه هي

info هي معلومات الاضافه وتكون كالتالي :

كود: تحديد الكل

<info>
      <plugin_name>limit_size_download</plugin_name>
      <plugin_version>1.0</plugin_version>
      <plugin_description>جعل سرعة التحميل محددة مثل بعض مواقع التحميل على سبيل المثال رابيد شير.....</plugin_description>
      <plugin_author>http://www.saleh.cc</plugin_author>
    </info> 


اسم الاضافه plugin_name , و اصدارها plugin_version , ووصف الاضافه plugin_description , و كاتب الاضافه plugin_author


اما install فهو الكود المراد تنفيذه عند تثبيت الاضافه , وتستطيع وضع هنا استعلامات وامور اخرى كحذف الكاش وخلافه ..

اما uninstall فهذا الكود الذي يتم تنفيذه عند حذف الاضافه , وتستطيع وضع حذف الاستعلامات و حذف التغييرات على القوالب !

اما templates فهو الجزء الخاص بالتعديلات الخاصه بالقوالب
من هنا نستطيع اضافه قالب او تعديل القوالب ايضاً ..

عند تعديل قالب , اي قالب , نقوم بوضع احداث التعديل داخل وسم edit داخل وسم templates


كود: تحديد الكل

        <edit>
            <template name="admin_configs">
                <find><![CDATA[<!-- admin configs tr extra -->]]></find>
                <action type="add_after">
                <![CDATA[
                <!-- limit_size_download b -->
                      .......
                <!-- limit_size_download e -->]]>
                </action>
            </template>
        </edit>
 

في المثال السابق قمنا بتعديل قالب admin_configs
بالبحث عن <!-- admin configs tr extra -->
واضافه الكود المراد اضافته بعدها

هناك احداث للتعديل
مثلا بالكود السابق اضفنا الكود بعدها عن طريق add_after
واستطيع استخدام ايضا
add_after_same_line : للاضافه بعده في نفس السطر
add_before : للاضافه قبل
add_before_same_line : للاضافه قبل في نفس السطر
replace_with : استبدال بـ

يمكن اضافه اكثر من تعديل داخل وسم edit بنفس الشكل السابق ..

اما لو اردت اضافه قالب فاستخدم وسم new داخل وسم templates

كود: تحديد الكل

        <new>
            <template name="new_template"><![CDATA[
code of template
]]></template>
          </new>
 


في الكود السابق اضفنا القالب new_template مع الكود
code of template في داخله

وتستطيع اضافه اكثر من قالب بنفس الوقت داخل وسم new



اما hooks وهو الاهم , هو الاكواد البرمجيه التي انفذها عند كل مكان اريده
فمثلا افتح ملف index.php

ستجد اكواد الخطاطيف فعدة امكنه

في هذا المكان مثلا اريد ان انفذ كود , فأقوم باخذ اسم الخطّاف

واضعه داخل وسم hook في وسم hooks


كود: تحديد الكل

    <hook name="begin_index_page"><![CDATA[echo 'hello world';]]></hook>
 


لو كان لديك اي ملف خارجي , تقوم بوضعه مع ملف الاضافه في مجلد root مثلا وتظغطه وترسله لنا :mrgreen:

هذه نبذه بسيطه فقط للتوضيح للمطورين .. تستطيع نقلها لاي مكان او منتدى تريده !


بالتوفيق ..
D3M-TEAM.NET
عضو جديد
مشاركات: 1
اشترك في: الأحد يونيو 07, 2009 7:20 pm

رد: [كليجا] كيف تصنع اضافه/ هاك لكليجا , موضوع خاص بالمطورين !

مشاركة بواسطة D3M-TEAM.NET »

الف شكرا استاذ عبدالرحمن

موضوع قيم جدا

اشكرك :D