ایجاد ماژول در جوملا 2.5   

از دانشنامه جوملا فارسی - مامبو فارسی
نسخهٔ تاریخ ‏۱۷ اوت ۲۰۱۳، ساعت ۰۶:۵۴ توسط Shmata (بحث | مشارکت‌ها) (صفحه‌ای جدید حاوی «=مقدمه= ماژول ها افزونه های سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com ج...» ایجاد کرد)

(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به: ناوبری، جستجو

مقدمه

ماژول ها افزونه های سبک و انعطاف پذیری هستند که در جوملا به هنگام render شدن صفحه مورد استفاده قرار میگیرند. ماژول ها به طور معمول عناصر موجود در صفحات جوملا را ایجاد میکنند به عنوان مثال ماژول ها میتوانند: فرم ورود اعضا, جستجو در سایت, منو, نمایش اسلاید یا ... باشند. در این مقاله نحوه ایجاد یک ماژول ساده جوملا را خواهیم آموخت.

فایل های مورد نیاز

  • mod_firstmodule.php : این فایل نقطه شروع خواندن ماژول ما توسط جوملا است. این فایل باید اجرا شود تا مقدار دهی های اولیه انجام شود و روند اجرای ماژول از فایل helper ادامه یابد.
  • helper.php : این فایل شامل کلاس helper است و این کلاس شامل کلکسیونی از داده های مورد نیاز برای استفاده در ماژول است.
  • mod_firstmodule.xml : این فایل شامل اطلاعاتی درباره ماژول است.این اطلاعات برای نصب ماژول در جوملا مورد استفاده قرار میگرند.
  • tmpl/default.php : این فایل برای نحوه نمایش ماژول مورد استفاده قرار میگرد.

ایجاد فایل mod_firstmodule.php

این فایل وظایف (task) زیر را اجرا میکند. Include کردن فایل helper.php : <source lang="php"> require_once( dirname(__FILE__).DS.'helper.php' ); </source> فراخوانی متد موجود در فایل helper.php برای بازیابی داده ها:
Helper.php در این مثال تنها شامل یک متد است به نام ()getFirst است که عبارت " این اولین ماژول من است " را بالای یک فرم ورود اعضا برمیگرداند. فرم ورود اعضا کارایی خاصی در این مثال ندارد اما در آموزش های بعدی از آن فرم استفاده خواهیم نمود. <source lang="php"> $firstp = modFirstmoduleHelper::getFirst( $params ); </source> اضافه نمودن template برای نمایش خروجی ماژول : <source lang="php"> require( JModuleHelper::getLayoutPath( 'mod_firstmodule' )); </source> کد کامل شده فایل mod_firstmodule.php به صورت زیر است: <source lang="php"> <?php // جلوگیریازاجراباتایپ مستقیم آدرس defined( '_JEXEC' ) or die( 'Restricted access' ); // اضافهکردنتوابعموردنیاز require_once( dirname(__FILE__).DS.'helper.php' ); $firstp = modFirstmoduleHelper::getFirst( $params ); require( JModuleHelper::getLayoutPath( 'mod_firstmodule' ) ); ?> </source>

ایجاد فایل helper.php

این فایل شامل کلاس تعریف شده در mod_firstmodule.php است. در این مثال نام این کلاس modFirstmoduleHelper است و شامل تابع getFirst() میباشد. کد کامل فایل helper.php به شرح زیر است. <source lang="php"> <?php // جلوگیریازاجراباتایپمستقیمآدرس defined( '_JEXEC' ) or die( 'Restricted access' ); class modFirstmoduleHelper { static function getFirst($params) { return 'این اولین ماژول من است '; } } ?> </source>

ایجاد فایل نصبی mod_firstmodule.xml

این فایل شامل اطلاعاتی برای نصب ماژول در جوملا است. فایل کامل آن به شرح زیر است: <source lang="xml"> <?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5" client="site" method="upgrade"> <name>First Module</name> <author>Joomla Farsi</author> <version>2.5</version> <description>جوملافارسی مترجم برگزیده جوملا درایران</description> <files> <filename>mod_firstmodule.xml</filename> <filename module="mod_firstmodule">mod_firstmodule.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> </files> <config> </config> </extension> </source>

ایجاد فایل tmpl/default.php

این فایل شامل خروجی ای است که باید توسط ماژول نمایش داده شود. این فایل دارای scope مشابه mod_firstmodule.php است بنابراین تمام متغیرهای تعریف شده در mod_firstmodule.php در این فایل هم به صورت مستفیم قابل دسترسی است. دراین مثال ما از متغیر firstp$ استفاده میکنیم. <source lang="php"> <?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <html> <body> <?php echo $firstp; ?>
<label for="modlgn-username">نامکاربری</label> <input id="modlgn-username" type="text" name="username" class="inputbox" size="18" />
<label for="modlgn-password">رمزعبور</label> <input id="modlgn-password" type="text" name="username" class="inputbox" size="18" /> </body> </html> </source>

ایجاد فایل index.html

باعث نمایش یک صفحه خالی خواهد شد. کد مربوط به این فایل <source lang="php"> <html><body bgcolor="#FFFFFF"></body></html> </source> است.
اینک باید یک فایل zip از فولد mod_firstmodule ایجاد نمایید که محتویات آن شامل کدهای بالا و فایل های زیر باشد :

1) mod_firstmodule.php
2) index.html
3) mod_firstmodule.xml
4) helper.php
5) tmpl\default.php
6) tmpl\index.html

فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت افزونه های جوملا را دارد. بعد از نصب ماژول, ماژول First Module در مدیریت ماژول ها قابل رویت خواهد بود. فقط کافیست این ماژول را در حالت منتشر شده در یک موقعیت در سایت تان قرار دهید تا خروجی ماژولی که نوشتید را مشاهده کنید.


جمع آوری شده توسط :شهاب مطاع پور

Indent support.png
هر گونه سوال و یا مشکلی در این رابطه دارید، می‌توانید در انجمن تخصصی تیم جوملا فارسی جستجو کرده و در صورت عدم دریافت نتیجه مورد نظر، سوال جدیدی را مطرح کنید.
8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.