السلام عليكم
اليوم بإذن الله سأضع أول درس مقدم من فريق Joomla Ultimate عن برمجة موديل جملة متصل بقاعدة البيانات

بإسم الله نبدأ

القاعدة الأولى هي أن أي موديل لجملة يجب أن يتكون من ملفين على الأقل ، بمعنى ملفان أو أكثر .
الملف الأول و الرئيسي هو ملف البي إتش بي و يكون إمتداده


كود PHP:
.php 
الملف الثاني و يكون إمتداده


كود PHP:
.xml 
ملف الـ 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:
Legacy 
.


كود PHP:
    <name>mod_jut_example</name
السطر الثالث يحمل إسم الموديل و الذي غالبا ما يبدأ إسمه بـ


كود PHP:
mod_ 

كود 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 و تفصيله كالتالي :


كود PHP:
<param 
بدأنا السطر



كود PHP:
name="name" 
كلمة name و هي إسم الحقل ، و التي سيصل الحقل بملف الـ php



كود PHP:
type="text" 
نوع الحقل ، و قد يكون أيضا textarea أو غيره



كود PHP:
default="كلمة" 
و هو ما يظهر إفتراضيا في الحقل



كود PHP:
label="حقل للكتابة" 
و هو إسم الحقل الذي يظهر إلى جانبه في لوحة التحكم



كود PHP:
description="أدخل هنا أي كلمة و سيتم عرضها في الواجهة"></param
وهو الوصف الذي يظهر عندما نمر بالفأرة على إسم الحقل .



كود PHP:
</param
نغلق الحقل



كود PHP:
    </params
نغلق الإعدادات

و أخيرا نغلق الملف بأكمله بالعبارة :


كود PHP:
</install
هنا يجدر الذكر أن ملف 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
و هي لتعريف المتصفح بأن الملف مكتوب بلغة الـ php

ثم نضع السطر


كود PHP:
// هذا السطر يعني أنه غير مسموح الولوج المباشر لهذا الملف
defined'_JEXEC' ) or die( 'الوصول المباشر غير مسموح' ); 
الأن نضع سطرا من شأنه جلب معلومات من قاعدة البيانات
هذه المعلومات هي التي ندخلها من لوحة تحكم الموديل ، أي في حقل الكتابة



كود PHP:
$example $params->get'name''' ); 
هنا أنشأنا متغيرا جديدا يمكن أن يكون إسمه أي شيئ ، و هذا المتغير


كود PHP:
$example 
أعطيناه قيمة و هي :


كود PHP:
$params->get'name''' ); 
و بها يجلب المعلومات التي يتم إدخالها عبر الجقل name من ملف الـ xml

و نكمل الموديل بطباعة المتغير $example بـ echo


كود PHP:
echo"$example"
وهكذا نكون قد إنتهينا من ملف الـ php و يكون الناتج النهائي كالتالي :



كود PHP:
<?php
defined
'_JEXEC' ) or die( 'الوصول المباشر غير مسموح' );
$example $params->get'name''' );
echo 
"$example";
ملاحظة :

1 - لسنا مظطرين لإنشاء جدول في قاعدة البيانات خاص بالموديل لأن جملة تحتوي على جدول خارق يحمل معلومات الموديلات كلها

2 - لسنا مظطرين لإغلاق ملف الـ php بالعبارة


كود PHP:
?> 
3 - يجب أن يكون إسم الملفين معا نفسه الذي وضع في ملف الـ XML

و هذا الموديل الذي أنشأناه تجدونه بالمرفقات .


الموضوع الأصلي
http://joomlaut.org/forum/show.php?main=1&id=34

و أبواب الإنضمام للفريق مفتوحة من هنا [مبرمجين و غير مبرمجين]
http://joomlaut.org/forum/show.php?main=1&id=5