السلام عليكم
اليوم بإذن الله سأضع أول درس مقدم من
فريق Joomla Ultimate عن برمجة موديل جملة متصل بقاعدة البيانات
بإسم الله نبدأ
القاعدة الأولى هي أن أي موديل لجملة يجب أن
يتكون من ملفين على الأقل ، بمعنى
ملفان أو أكثر .
الملف الأول و الرئيسي هو ملف البي إتش بي و يكون إمتداده
الملف الثاني و يكون إمتداده
ملف الـ PHP مسؤول على
محتوى الموديل و ما يظهر في الواجهة ، أي انه الأساس الذي يحمل الشيفرة البرمجية
أما ملف الـ xml فهو المحرك الداخلي ، و هو على الأقل يؤدي وظيفتين ،
الوظيفة الأولى : يرفع ملفات الموديل إلى موقعك أثناء التنصيب .
الوظيفة الثانية : يعطينا خيارات التحكم بالموديل من لوحة التحكم .
الآن لنبدأ تطبيقنا لهذا اليوم ، و هو برمجة موديل مبسط لمجلة جملة .
نبدأ بملف الـ XML وهذه محتوياته :
ننشئ ملفا و نسميه
كود PHP:
mod_jut_example.xml
و نضع فيه التالي :
كود PHP:
<?xml version="1.0" encoding="utf-8"?>
السطر الأول يحمل رقم الإصدار و الترميز و هو utf-8 ، الذي هو ترميز جملة .
كود PHP:
<install type="module" version="1.5.0">
السطر الثاني
1 - يبدأ بكلمة install و بهذا يعلم المجلة ببدأ التثبيت .
2 - يحمل نوعه الإضافة و هي module ثم إصدار المجلة و الذي هو 1.5 .
إصدار المجلة يعطي المستخدم مدى توافقية الموديل مع المجلة ، ثم إنه لن يثبت في إصدارات أخرى إلا بعد تفعيل نظام التوافقية
.
كود PHP:
<name>mod_jut_example</name>
السطر الثالث يحمل إسم الموديل و الذي غالبا ما يبدأ إسمه بـ
كود PHP:
<creationDate>xx-xx-2009</creationDate>
السطر الرابع كما هو واضح ، يحمل تاريخ إنشاء الموديل .
كود PHP:
<author>Rifizm - JUT</author>
السطر الخامس يحمل إسم المبرمج لعرضه للمستخدم في لوحة التحكم
كود PHP:
<copyright>GPL</copyright>
السطر السادس يحمل نوع الرخصة ، و هنا نرى أن موديلنا هذا يحمل رخصة GPL العمومية . أي أنه مجاني .
كود PHP:
<authorEmail>khalid@joomlaut.org</authorEmail>
السطر السابع يحمل بريد المبرمج
كود PHP:
<authorUrl>http://joomlaut.org</authorUrl>
السطر الثامن يحمل موقع المبرمج
كود PHP:
<version>1.0</version>
السطر التاسع يحمل إصدارة الموديل
كود PHP:
<description>موديل example يصلح لكذا و كذا ...</description>
السطر العاشر يحمل الوصف
هنا أكملنا المقدمة التي يتكون منها أي موديل ، طبع يمكن الإستغناء عن بعض الأسطر في هذه المقدمة لكن من الأفضل تعبئتها كلها .
المقدمة مهمتها التعريف بالموديل و مبرمجه ، الآن نأتي للباقي
كود PHP:
<files>
<filename module="mod_jut_youtube">mod_jut_youtube.php</filename>
<filename>example.gif</filename>
</files>
السطر الأول يعلم جملة أن القادم هو الملفات التي يجب أن تنقل إلى مجلد الموديلات
السطر الثاني يبين الملف الرئيسي للموديل
السطر الثالث هو ملف ثانوي ينقل إلى مجلد الموديل عند الثتبيت ، نحن وضعنا كمثال ، صورة example.gif لكن يمكن أن يكون ملفا آخر
كما يمكن تكرار السطر الثالث لنقل عدد أكبر من الملفات
السطر الرابع ، نغلق عملية النقل
كود PHP:
<params>
<param name="name" type="text" default="كلمة" label="حقل للكتابة" description="أدخل هنا أي كلمة و سيتم عرضها في الواجهة"></param>
</params>
السطور التالية هي التي تعطينا التحكم بالموديل من لوحة التحكم ، أي أنها لوحة تحكم مصغرة خاصة بالموديل و تتكون من حقول نحن نحددها .
و تبدأ كما هو مبين في السطر الأول بـ params
السطر الثاني مكون من حقل واحد من نوع text و تفصيله كالتالي :
بدأنا السطر
كلمة name و هي إسم الحقل ، و التي سيصل الحقل بملف الـ php
نوع الحقل ، و قد يكون أيضا textarea أو غيره
و هو ما يظهر إفتراضيا في الحقل
كود PHP:
label="حقل للكتابة"
و هو إسم الحقل الذي يظهر إلى جانبه في لوحة التحكم
كود PHP:
description="أدخل هنا أي كلمة و سيتم عرضها في الواجهة"></param>
وهو الوصف الذي يظهر عندما نمر بالفأرة على إسم الحقل .
نغلق الحقل
نغلق الإعدادات
و أخيرا نغلق الملف بأكمله بالعبارة :
هنا يجدر الذكر أن ملف XML قد يحتوي على إعدادات أخرى مثل <>
و تكون نهاية الملف كالتالي :
كود PHP:
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>mod_jut_example</name>
<creationDate>05-04-2009</creationDate>
<author>Rifizm - JUT</author>
<copyright>GPL</copyright>
<authorEmail>khalid@joomlaut.org</authorEmail>
<authorUrl>http://joomlaut.org</authorUrl>
<version>1.0</version>
<description>موديل example</description>
<files>
<filename module="mod_jut_example">mod_jut_example.php</filename>
</files>
<params>
<param name="name" type="text" default="كلمة" label="حقل للكتابة" description="أدخل هنا أي كلمة و سيتم عرضها في الواجهة"></param>
</params>
</install>
و الآن نبرمج ملف الـ php وهذه محتوياته :
ننشئ ملفا و نسميه
كود PHP:
mod_jut_example.php
و نضع فيه التالي :
كأي ملف php فإننا نبدأ بـ
و هي لتعريف المتصفح بأن الملف مكتوب بلغة الـ php
ثم نضع السطر
كود PHP:
// هذا السطر يعني أنه غير مسموح الولوج المباشر لهذا الملف
defined( '_JEXEC' ) or die( 'الوصول المباشر غير مسموح' );
الأن نضع سطرا من شأنه جلب معلومات من قاعدة البيانات
هذه المعلومات هي التي ندخلها من لوحة تحكم الموديل ، أي في حقل الكتابة
كود PHP:
$example = $params->get( 'name', '' );
هنا أنشأنا متغيرا جديدا يمكن أن يكون إسمه أي شيئ ، و هذا المتغير
أعطيناه قيمة و هي :
كود PHP:
$params->get( 'name', '' );
و بها يجلب المعلومات التي يتم إدخالها عبر الجقل name من ملف الـ xml
و نكمل الموديل بطباعة المتغير $example بـ echo
وهكذا نكون قد إنتهينا من ملف الـ php و يكون الناتج النهائي كالتالي :
كود PHP:
<?php
defined( '_JEXEC' ) or die( 'الوصول المباشر غير مسموح' );
$example = $params->get( 'name', '' );
echo "$example";
ملاحظة :
1 - لسنا مظطرين لإنشاء جدول في قاعدة البيانات خاص بالموديل لأن جملة تحتوي على جدول خارق يحمل معلومات الموديلات كلها
2 - لسنا مظطرين لإغلاق ملف الـ php بالعبارة
3 - يجب أن يكون إسم الملفين معا نفسه الذي وضع في ملف الـ XML
و هذا الموديل الذي أنشأناه تجدونه بالمرفقات .
الموضوع الأصلي
http://joomlaut.org/forum/show.php?main=1&id=34
و أبواب الإنضمام للفريق مفتوحة من هنا [مبرمجين و غير مبرمجين]
http://joomlaut.org/forum/show.php?main=1&id=5