J3.x:تطوير مكون MVC/اضافة نوع قائمة الى قسم الموقع
From Joomla! Documentation
< J3.x:Developing an MVC Component
المقالات في هذه السلسلة
اضافة نمط قائمة الى جزء الموقع
اضافة موديل الى جزء الموقع
اضافة طلب متحول في نوع القائمة
استخدام قاعدة البيانات
واجهة خلفية بسيطة
اضافة ادارة لغة
اضافة أفعال في الواجهة الخلفية
اضافة ديكور الى الواجهة الخلفية
اضافة التحقيقات
اضافة فئات
اضافة اعداد
اضافة ملف سكريبت لتثبيت/فك تثبيت/تحديث
Adding a Frontend Form
استخدام ميزات تصفية اللغة
- Adding a Modal
- Adding Associations
- Adding Checkout
- Adding Ordering
- Adding Levels
- Adding Versioning
- Adding Tags
- Adding Access
- Adding a Batch Process
- Adding Cache
- Adding a Feed
اضافة مخدم تحديث
هذه سلسلة من عدة مقالات من الدروس حول كيفية تطوير موديل-عرض-موجه مكون لنسخة Joomla! .
تبدأ مع مقدمة, وتستعرض المقالات في هذه السلسلة باستخدام زر التنقل في الأسفل أو الصندوق الأيمن ("المقالات في هذه السلسلة").
ملاحظات
- هذا الدرس هو جزء من درس تطوير مكون MVC لـ Joomla! 3.x . نشجعك على قراءة الجزء السابق من الدرس قبل قراءة هذا الدرس.
- يمكنك اتباع الخطوات في الأسفل لإنشاء مكون Hello World!,أو يمكنك مباشرة تحميل الرابط archive
- You can watch a video associated with this step in the tutorial at Step 3, Adding a Menu Part.
اضافة عنصر قائمة الى Hello World
في هذه المقالة سنغطي كيفية اضافة عنصر قائمة الى مكون Joonla! البسيط. لهذا المثال سنتابع عملنا على مكون Hello World!
هنالك عدة طرق لتحديث مكون Joomla!. في هذا الدرس سنسلط الضوء على الخيار الثاني.
1 | اضافة الملفات يدويا الى <path_to_joomla>/ |
2 | التحديث باستخدام مدير مكون Joomla! والفهرس الأصلي، غير مضغوط، المستخدم لتثبيت المكون. |
3 | التحديث باستخدام مدير مكون Joomla! و مخدم التحديث |
لاضافة عنصر قائمة يجب عليك الانتقال الى com_helloworld, والذي هو الفهرس الأصلي الذي أنشأناه لمكوننا. يجب عليك استخدام بنية الفهرس المحدث من آخر درس. باستخدام مدير الملف المفضل لديك، أنشئ أو حدث الملفات التالية ، وعند تعديل أو انشاء الملفات أضف شفرة المصدر لكل ملف موجود في File Details.
1 | انشاء: default.xml | <path_to_com_helloworld/site/views/helloworld/tmpl/default.xml |
2 | تحديث: helloworld.xml | <path_to_com_helloworld/helloworld.xml |
تحديث مكون Hello World!
لتحديث مكون Hello World! الموجود في موقع Joomla!، الرجاء اتباع نفس الخطوات في التثبيت الأصلي.
ومع انتهاء تحديث المكون بنجاح، يجب عليك اضافة عنصر قائمة. وهذا سيتم باستخدام مدير القائمة في Joomla!.
- استخدم متصفحك المفضل، انتقل الى شاشة المدير في موقع Joomla! الخاص بك. العنوان سيكون <yoursite>/joomla/administrator/index.php.ولهذا المثال سننتقل الى localhost/joomla/administrator/index.php.
- اضغط قائمة ← مدير ← عنصر قائمة ← جديد
اختر
- انتقل واختر Hello World!
- انتقل واختر
- اضغط على عنوان القائمة وأدخل Hello World!
You should now be able to access the component through the menu that you just created.
تفاصيل الملف
site/views/helloworld/tmpl/default.xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
<message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
</layout>
</metadata>
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!-- The version string is recorded in the components table -->
<version>0.0.3</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Site Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package -->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
</files>
<administration>
<!-- Administration Menu Section -->
<menu link='index.php?option=com_helloworld'>Hello World!</menu>
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<!-- Admin Main File Copy Section -->
<filename>index.html</filename>
<filename>helloworld.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
</files>
</administration>
</extension>
شرح الشفرة
في حال كنت مستغرب لماذا يعمل بهذه الطريقة.
default.xml
ملاحظة - الى الآن سلسلة المحارف لم يتم ترجمتها في واجهة المدير. سنرى في المقالة اللاحقة كيف تتم عملية الترجمة.
helloworld.xml
<version>0.0.3</version>
حدث رقم النسخة
محتويات المكون
في هذه النقطة من الدرس، المكون الخاص بك يجب أن يملك الملفات التالية:
1 | helloworld.xml | هذا ملف XML (manifest) والذي يخبر Joomla! عن كيفية تثبيت المكون الخاص بنا. |
2 | site/helloworld.php | وهذا هو نقطة دخول الموقع الى مكون Hello World! |
3 | site/index.html | منع مخدم الويب من عرض محتوى الفهرس |
4 | site/controller.php | ملف يمثل الموجه |
5 | site/views/index.html | منع مخدم الويب من عرض محتوى الفهرس |
6 | site/views/helloworld/index.html | منع مخدم الويب من عرض محتوى الفهرس |
7 | site/views/helloworld/view.html.php | ملف يمثل عرض |
8 | site/views/helloworld/tmpl/index.html | منع مخدم الويب من عرض محتوى الفهرس |
9 | site/views/helloworld/tmpl/default.php | عرض افتراضي |
10 | site/views/helloworld/tmpl/default.xml | ملف يضيف عنصر قائمة |
11 | admin/index.html | منع مخدم الويب من عرض محتوى الفهرس |
12 | admin/helloworld.php | وهذا هو نقطة دخول المسؤول الى مكون Hello World! |
13 | admin/sql/index.html | منع مخدم الويب من عرض محتوى الفهرس |
14 | admin/sql/updates/index.html | منع مخدم الويب من عرض محتوى الفهرس |
15 | admin/sql/updates/mysql/index.html | منع مخدم الويب من عرض محتوى الفهرس |
16 | admin/sql/updates/mysql/0.0.1.sql | ملف يسمح لتهيئة اصدار مخطط مكون com_helloworld |