ط´ط±ط* ط¨ط±ظ…ط¬ط© ظ…ظˆط¯ظٹظ„ط§طھ ظ…ط¬ظ„ط© joomla ط®ط·ظˆط© ط®ط·ظˆط© ط§ظ„ط¬ط²ط، ط§ظ„ط£ظˆظ„





نعود معكم أعضاء وزوار موقعنا الكرام مع أحد دروس موقعنا المتواضعه, وفى هذا الدرس مفصل سوف نلقى الضوء على واحد من الدروس المهمه, وهو ما يجعلك تبدأ الخطو نحو التعامل مع برمجية المجلة الرائعة joomla , والتى يعمل بها موقعنا

اولا: فهرس الدرس مفصل مقسم كالأتى:


1-شرح طريقة الموديل بفكره عامة وما هو ووظيفته فى المجلة


2-شرح طريقة تركيب installة الموديل من ملفات ومجلدات


3-شرح طريقة أساسيات ملف xml الخاص بالموديل


4-شرح طريقة التنبيهات المهمة فى برمجة موديل joomla


5-شرح طريقة مثال لرؤية الكود code البرمجى للموديل وانعكاسه فى لوحة التحكم وخصائصه


نبدأ على بركة الله ................

1-شرح طريقة الموديل بفكرة عامة وما هو وظيفته فى المجلة :

module: هو عبارة عن أداة نستخدمها لاضفاء تحسينات للمجلة , وأقرب تشبيه لها لكم هو مثل الهاك productات فى المنتديات
مثال: انظر للموقع على اليمين فسوف تجد موديل اليوتيوب وموديل عرض الاعلانات وموديل برنامج اليوم


2-شرح طريقة تركيب installة الموديل من ملفات ومجلدات:

انظر لهذه الصوره لتعرف تركيب installة الموديل:



-شرح طريقة تركيب installة الموديل:
اولا: ملفات أساسيه : وهى الملفات :
1-ملف xml وعلى سبيل المثال advphp.xml
2-ملف php وعلى سبيل المثال advphp.php

2-ملفات فرعية : وهى الملفات :
1-ملف index.html
2-ملف helper.php
3-ملف en-gb.ini
4-مجلد tmpl بداخله ملفين :
-ملف default.php
-ملف index.html



-ماالفرق بين الملفات الاساسيه والملفات الفرعية؟

الملفات الأساسية هى التى لابد من استخدامها, ويمكنك ان تسوى بها موديل بسيط , اما الملفات الفرعية يمكنك عدم استخدامها, فهى فقط ملفات مساعده مع الموديلات التى تتطلب :
1-تغيير اللغة
2-اختيار أكثر من قالب template له
3-فصل القطعه البرمجيه عن فريم ورك المجلة mvc



3-شرح طريقة أساسيات الxml الخاصة بالموديل:

-كما عرفنا سابقا ان ملف xml , من الملفات الاساسية التى لابد ان تكون موجوده

اولا: ما هى وظيفة ملف xml : هو الملف الذى سيقدم خيارات الموديل فى لوحة التحكم للتحكم به
ثانيا: ما هى أساسيات ومحتوى ملف xml ؟

انظر للصورة




طبعا الصورة واضحه......

ثالثا: خلونا نشوف مثال عامل لكود code ملف xml من أحد الموديلات وانعكاسه على لوحة التحكم من خيارات للموديل

رمز Code:
<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>
رمز Code:
<install type=&quot;module&quot; version=&quot;1.5.0&quot;>
<name>Find Us on Facebook</name> <author>River Media</author> <creationDate>November 2014</creationDate> <copyright>Copyright (C) 2014 - 2014 Open Source Matters. All rights reserved.</copyright> <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license> <authorEmail>[email protected]</authorEmail> <authorUrl>joomladds.com</authorUrl> <version>1.0.6</version> <description>This module will display a &quot;Find Us On Facebook&quot; link with an image.</description> <files> <filename module=&quot;mod_fuofb&quot;>mod_fuofb.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> <filename>assets/find-us-on-facebook-1.png</filename> <filename>assets/find-us-on-facebook-2.png</filename> <filename>assets/find-us-on-facebook-3.png</filename> <filename>assets/find-us-on-facebook-4.png</filename> </files> <params> <param name=&quot;facebook_url&quot; type=&quot;text&quot; default=&quot;&quot; label=&quot;Facebook URL&quot; description=&quot;Enter the URL to your Facebook page.&quot; /> <param name=&quot;target&quot; type=&quot;list&quot; default=&quot;1&quot; label=&quot;Target&quot; description=&quot;Target window when the link is clicked&quot;> <option value=&quot;0&quot;>Parent Window With Browser Navigation</option> <option value=&quot;1&quot;>New Window With Browser Navigation</option> <option value=&quot;2&quot;>New Window Without Browser Navigation</option> </param> <param name=&quot;title_text&quot; type=&quot;text&quot; default=&quot;Visit our Facebook page and become a fan.&quot; label=&quot;Title Text&quot; description=&quot;Enter the text you want to show in the title pop up&quot; /> <param name=&quot;image_choice&quot; type=&quot;list&quot; default=&quot;1&quot; label=&quot;Image Choice&quot; description=&quot;Select which image you would like&quot;> <option value=&quot;1&quot;>Style 1</option> <option value=&quot;2&quot;>Style 2</option> <option value=&quot;3&quot;>Style 3</option> <option value=&quot;4&quot;>Style 4</option> </param> <param name=&quot;image_align&quot; type=&quot;list&quot; default=&quot;center&quot; label=&quot;Image Alignment&quot; description=&quot;Choose image alignment, left, right or center&quot;> <option value=&quot;left&quot;>Left</option> <option value=&quot;right&quot;>Right</option> <option value=&quot;center&quot;>Center</option> </param> <param name=&quot;@spacer&quot; type=&quot;spacer&quot; default=&quot;&quot; label=&quot;&quot; description=&quot;&quot; /> <param name=&quot;moduleclass_sfx&quot; type=&quot;text&quot; default=&quot;&quot; label=&quot;Module Class Suffix&quot; description=&quot;&quot; /> </params> <params group=&quot;advanced&quot;> <param name=&quot;cache&quot; type=&quot;list&quot; default=&quot;1&quot; label=&quot;Caching&quot; description=&quot;Select whether to cache the content of this module&quot;> <option value=&quot;1&quot;>Use global</option> <option value=&quot;0&quot;>No caching</option> </param> <param name=&quot;cache_time&quot; type=&quot;text&quot; default=&quot;900&quot; label=&quot;Cache Time&quot; description=&quot;The time before the module is recached&quot; /> </params> </install>


وهذه صورة الموديل فى لوحة التحكم :



انظر لخيارات الموديل, هذا هو ما انتجه لنا ملف xml
ملاحظه: القائمة اليسرى اللى على يسار خيارات الموديل , ليس لك بها علاقه , فالمجلة تضيفها تلقائيا بدون تدخل بأى كود code منك, وهى خاصه بموضع ومكان ظهور الموديل فى الاقسام




4-شرح طريقة التنبيهات المهمه فى برمجة موديل جملة joomla :

اولا: لابد ان تتذكر عملية scope resolution operator التى تستخدم بكثرة فى برمجيات جملة joomla ؟




-يرمز ل scope resolution operator بالرمز :: تسمح لك لاستدعاء اى ثابت تم تحديده داخل اى كلاس

مثال عملى :

فلنفرض اننا فى كلاسات مجلة جمله كلاس اسمها JModuleHelper وبداخلها الفانكشن getLayoutPath

ونريد الدخول لها سوف تكون كالاتى:

رمز Code:
require(JModuleHelper::getLayoutPath('xxx'));

حيث xxx هى اسم المتغير الذى تريد تنفيذه على هذه الفانكشن

لمزيد من المعلومات عن scoper resolution operator


ثانيا: بعض الملاحظات فى برمجة الموديلات :

1- اذا أردت حظر الوصول لملف الموديل مباشرة , استخدم العبارة الاتيه:

رمز Code:
defined('_JEXEC') or die('Direct Access to this location is not allowed.');

2-لجلب خيار param من ملف xml وليكن مثال عملى لذلك:

فى ملف الxml يوجد خيار رابط الموقع وليكن الفيس بوك:

رمز Code:
<param name=&quot;facebook_url&quot; type=&quot;text&quot; default=&quot;&quot; label=&quot;Facebook URL&quot; description=&quot;Enter the URL to your Facebook page.&quot; />


صورته:



اذا أردت استدعاء هذا الخيار فى ملف php سوف يكون الاستدعاء كالاتى:

رمز Code:
$facebook_url = $params->get('facebook_url', 'http://facebook.com/');


حددنا متغير ثم جلبنا الlabel الخاص ب param حيث قيمة المتغير الاول هى اسم label , والقيمة الثانية
هى القيمة الافتراضية التى سيتم وضعها فى الخيار وهى رابط موقع الفيس بوك



5-شرح طريقة مثال عملى لرؤية الكود code البرمجى لاحد الموديلات مشاهدة خياراته فى لوحة التحكم
راح نأخذ المثال السابق وهو موديل الفيس بوك:

الموديل مرفق........

تركيب installة الموديل:
1-ملفات أساسيه وفرعيه
2-مكانه : انظر لرئيسية الموقع على اليسار
3-تركيب installه ملف الmod_fuofb.xmll : انظر لمثال ملف الxml السابق
4-تركيب installة ملف الmod_fuofb.php :
رمز Code:
defined('_JEXEC') or die('Restricted access');
رمز Code:
require_once( dirname(__FILE__).DS.'helper.php' );
$facebook_url = $params->get('facebook_url', 'http://facebook.com/'); $target = $params->get('target',1); $image_style = $params->get('image_choice', 1); $image_align = $params->get('image_align', 'center'); $popup_text = $params->get('title_text', ''); $set_Itemid = intval($params->get('set_itemid', 0)); $moduleclass_sfx = $params->get('moduleclass_sfx', '');
$img = modFUOFBHelper::getFUOFBImage( $popup_text, $image_style ); $url = $facebook_url; require(JModuleHelper::getLayoutPath('mod_fuofb')) ;




5-صورة خيارات الموديل فى لوحة التحكم:



وبهيك انتهى المثال



كانت هذه مقدمه ومدخل بسيط لكيفية برمجة موديلات المجلة

ترقبوا الدروس القادمه, لانى تونى مهتم ببرمجة المجلة من فترة قريبه وما سوينا الا القليل :nosweat:

للاستفاده ومعرفه برمجية المجلة

راجع الdocs الخاص بهـــــــــــا من هـــــــــــــــنــــــــــــــــا


أخوكم vista-design







الملفات المرفقة [TR]
mod_fuofb.zip (44.4 كيلوبايت, عدد مرات المشاهدة 228 مرة) [/TR]



©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©