ایجاد ماژول در جوملا 2.5: تفاوت بین نسخه‌ها   

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو
(صفحه‌ای جدید حاوی «=مقدمه= ماژول ها افزونه های سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com ج...» ایجاد کرد)
 
 
سطر ۱: سطر ۱:
 
=مقدمه=
 
=مقدمه=
[[ماژول]] ها افزونه های سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com جوملا] به هنگام render شدن صفحه مورد استفاده قرار میگیرند. [[ماژول]] ها به طور معمول عناصر موجود در صفحات [[جوملا]] را ایجاد میکنند به عنوان مثال [[ماژول]] ها میتوانند: فرم ورود اعضا, جستجو در سایت, منو, نمایش اسلاید یا ... باشند. در این مقاله نحوه ایجاد یک [[ماژول]] ساده [[جوملا]] را خواهیم آموخت.
+
 
=فایل های مورد نیاز=
+
[[ماژول]]‌ها افزونه‌های سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com جوملا] به هنگام render شدن صفحه مورد استفاده قرار می‌گیرند. [[ماژول]]‌ها به طور معمول عناصر موجود در صفحات [[جوملا]] را ایجاد می‌کنند.
* mod_firstmodule.php : این فایل نقطه شروع خواندن [[ماژول]] ما توسط [[جوملا]] است. این فایل باید اجرا شود تا مقدار دهی های اولیه انجام شود و روند اجرای [[ماژول]] از فایل helper ادامه یابد.
+
 
* helper.php : این فایل شامل کلاس helper است و این کلاس شامل کلکسیونی از داده های مورد نیاز برای استفاده در [[ماژول]] است.  
+
به عنوان مثال [[ماژول]]‌ها می‌توانند: فرم ورود اعضا، جستجو در سایت، منو، نمایش اسلاید یا ... باشند. در این مقاله نحوه ایجاد یک [[ماژول]] ساده [[جوملا]] را خواهیم آموخت.
* mod_firstmodule.xml : این فایل شامل اطلاعاتی درباره [[ماژول]] است.این اطلاعات برای نصب [[ماژول]] در [[جوملا]] مورد استفاده قرار میگرند.
+
 
* tmpl/default.php : این فایل برای نحوه نمایش [[ماژول]] مورد استفاده قرار میگرد.
+
=فایل‌های مورد نیاز=
 +
 
 +
* mod_firstmodule.php : این فایل نقطه شروع خواندن [[ماژول]] ما توسط [[جوملا]] است. این فایل باید اجرا شود تا مقدار دهی‌های اولیه انجام شود و روند اجرای [[ماژول]] از فایل helper ادامه یابد.
 +
* helper.php : این فایل شامل کلاس helper است و این کلاس شامل کلکسیونی از داده‌های مورد نیاز برای استفاده در [[ماژول]] است.  
 +
* mod_firstmodule.xml : این فایل شامل اطلاعاتی درباره [[ماژول]] است. این اطلاعات برای نصب [[ماژول]] در [[جوملا]] مورد استفاده قرار می‌گیرند.
 +
* tmpl/default.php : این فایل برای نحوه نمایش [[ماژول]] مورد استفاده قرار می‌گیرد.
  
 
=ایجاد فایل mod_firstmodule.php=
 
=ایجاد فایل mod_firstmodule.php=
این فایل وظایف (task) زیر را اجرا میکند.
+
 
 +
این فایل وظایف (task) زیر را اجرا می‌کند.
 +
 
 
Include کردن فایل '''helper.php''' :
 
Include کردن فایل '''helper.php''' :
 +
 +
 
<source lang="php">
 
<source lang="php">
 
require_once( dirname(__FILE__).DS.'helper.php' );
 
require_once( dirname(__FILE__).DS.'helper.php' );
 
</source>
 
</source>
فراخوانی متد موجود در فایل helper.php برای بازیابی داده ها:
+
 
<br/>
+
 
Helper.php در این مثال تنها شامل یک متد است به نام '''()getFirst''' است که عبارت " این اولین [[ماژول]] من است " را بالای یک فرم ورود اعضا برمیگرداند. فرم ورود اعضا کارایی خاصی در این مثال ندارد اما در آموزش های بعدی از آن فرم استفاده خواهیم نمود.
+
فراخوانی متد موجود در فایل helper.php برای بازیابی داده‌ها:
 +
 
 +
Helper.php در این مثال تنها شامل یک متد است به نام '''()getFirst''' است که عبارت " این اولین [[ماژول]] من است " را بالای یک فرم ورود اعضا برمی‌گرداند. فرم ورود اعضا کارایی خاصی در این مثال ندارد اما در آموزش‌های بعدی از آن فرم استفاده خواهیم نمود.
 +
 
 +
 
 
<source lang="php">
 
<source lang="php">
 
$firstp = modFirstmoduleHelper::getFirst( $params );
 
$firstp = modFirstmoduleHelper::getFirst( $params );
 
</source>
 
</source>
 +
 +
 
اضافه نمودن template برای نمایش خروجی [[ماژول]] :
 
اضافه نمودن template برای نمایش خروجی [[ماژول]] :
 +
 +
 
<source lang="php">
 
<source lang="php">
 
require( JModuleHelper::getLayoutPath( 'mod_firstmodule' ));
 
require( JModuleHelper::getLayoutPath( 'mod_firstmodule' ));
 
</source>
 
</source>
 +
 +
 
کد کامل شده فایل ''' mod_firstmodule.php ''' به صورت زیر است:
 
کد کامل شده فایل ''' mod_firstmodule.php ''' به صورت زیر است:
 +
 +
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
سطر ۳۴: سطر ۵۵:
 
?>
 
?>
 
</source>
 
</source>
 +
 +
 
=ایجاد فایل helper.php=
 
=ایجاد فایل helper.php=
این فایل شامل کلاس تعریف شده در ''' mod_firstmodule.php ''' است. در این مثال نام این کلاس ''' modFirstmoduleHelper ''' است و شامل تابع getFirst() میباشد. کد کامل فایل  helper.php به شرح زیر است.
+
 
 +
این فایل شامل کلاس تعریف شده در ''' mod_firstmodule.php ''' است. در این مثال نام این کلاس ''' modFirstmoduleHelper ''' است و شامل تابع getFirst() می‌باشد.
 +
 
 +
کد کامل فایل  helper.php به شرح زیر است.
 +
 
 +
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
سطر ۴۹: سطر ۷۷:
 
?>
 
?>
 
</source>
 
</source>
 +
 +
 
=ایجاد فایل نصبی mod_firstmodule.xml=
 
=ایجاد فایل نصبی mod_firstmodule.xml=
 +
 
این فایل شامل اطلاعاتی برای نصب [[ماژول]] در [[جوملا]] است. فایل کامل آن به شرح زیر است:
 
این فایل شامل اطلاعاتی برای نصب [[ماژول]] در [[جوملا]] است. فایل کامل آن به شرح زیر است:
 +
 +
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
سطر ۵۷: سطر ۹۰:
 
<author>Joomla Farsi</author>
 
<author>Joomla Farsi</author>
 
<version>2.5</version>
 
<version>2.5</version>
<description>جوملافارسی مترجم برگزیده جوملا درایران</description>
+
<description>جوملا فارسی مترجم برگزیده جوملا در ایران</description>
 
<files>
 
<files>
 
<filename>mod_firstmodule.xml</filename>
 
<filename>mod_firstmodule.xml</filename>
سطر ۷۰: سطر ۱۰۳:
 
</extension>
 
</extension>
 
</source>
 
</source>
 +
 +
 
=ایجاد فایل tmpl/default.php =
 
=ایجاد فایل tmpl/default.php =
این فایل شامل خروجی ای است که باید توسط [[ماژول]] نمایش داده شود. این فایل دارای scope مشابه ''' mod_firstmodule.php ''' است بنابراین تمام متغیرهای تعریف شده در ''' mod_firstmodule.php ''' در این فایل هم به صورت مستفیم قابل دسترسی است. دراین مثال ما از متغیر ''' firstp$ ''' استفاده میکنیم.
+
 
 +
این فایل شامل خروجی ای است که باید توسط [[ماژول]] نمایش داده شود. این فایل دارای scope مشابه ''' mod_firstmodule.php ''' است بنابراین تمام متغیرهای تعریف شده در ''' mod_firstmodule.php ''' در این فایل هم به صورت مستفیم قابل دسترسی است. دراین مثال ما از متغیر ''' firstp$ ''' استفاده می‌کنیم.
 +
 
 +
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
سطر ۸۱: سطر ۱۱۹:
 
<?php echo $firstp; ?>
 
<?php echo $firstp; ?>
 
<br>
 
<br>
<label for="modlgn-username">نامکاربری</label>
+
<label for="modlgn-username">نام کاربری</label>
 
<input id="modlgn-username" type="text" name="username" class="inputbox" size="18" />
 
<input id="modlgn-username" type="text" name="username" class="inputbox" size="18" />
 
<br>
 
<br>
سطر ۹۴: سطر ۱۳۲:
 
<html><body bgcolor="#FFFFFF"></body></html>
 
<html><body bgcolor="#FFFFFF"></body></html>
 
</source>
 
</source>
است.   <br/>
+
 
اینک باید یک فایل zip از فولد mod_firstmodule ایجاد نمایید که محتویات آن شامل کدهای بالا و فایل های زیر باشد :
+
 
 +
است.
 +
 
 +
اینک باید یک فایل zip از فولد mod_firstmodule ایجاد نمایید که محتویات آن شامل کدهای بالا و فایل‌های زیر باشد :
 +
 
 
<div dir="ltr">
 
<div dir="ltr">
1) mod_firstmodule.php   
+
#mod_firstmodule.php   
<br/>
+
#index.html
2) index.html
+
#mod_firstmodule.xml
<br/>
+
#helper.php
3) mod_firstmodule.xml
+
#tmpl\default.php
<br/>
+
#tmpl\index.html
4) helper.php
+
<br/>
+
5) tmpl\default.php
+
<br/>
+
6) tmpl\index.html
+
<br/>
+
 
</div>
 
</div>
فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت افزونه های [[جوملا]] را دارد. بعد از نصب [[ماژول]], [[ماژول]] First Module در مدیریت [[ماژول]] ها قابل رویت خواهد بود. فقط کافیست این [[ماژول]] را در حالت منتشر شده در یک موقعیت در سایت تان قرار دهید تا خروجی [[ماژول]]ی که نوشتید را مشاهده کنید.
+
 
 +
فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت افزونه‌های [[جوملا]] را دارد. بعد از نصب [[ماژول]]، [[ماژول]] First Module در مدیریت [[ماژول]]‌ها قابل رویت خواهد بود. فقط کافیست این [[ماژول]] را در حالت منتشر شده در یک موقعیت در سایت تان قرار دهید تا خروجی [[ماژول]]ی که نوشتید را مشاهده کنید.
  
 
----
 
----
سطر ۱۲۲: سطر ۱۵۹:
 
{{کپی رایت}}
 
{{کپی رایت}}
  
[[رده:پلاگین جوملا 2.5]] [[رده: سوالات متداول جوملا 2.5]] [[رده: کدنویسی و گسترش جوملا 2.5]][[رده: مقالات جوملا 2.5]]
+
[[رده:ماژول‌های جوملا 2.5]] [[رده: سوالات متداول جوملا 2.5]] [[رده: کدنویسی و گسترش جوملا 2.5]][[رده: مقالات جوملا 2.5]]

نسخهٔ کنونی تا ‏۲۰ اوت ۲۰۱۳، ساعت ۰۳:۵۵

مقدمه

ماژول‌ها افزونه‌های سبک و انعطاف پذیری هستند که در جوملا به هنگام 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 بلامانع است.