ایجاد ماژول در جوملا 2.5: تفاوت بین نسخهها
(صفحهای جدید حاوی «=مقدمه= ماژول ها افزونه های سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com ج...» ایجاد کرد) |
|||
| سطر ۱: | سطر ۱: | ||
=مقدمه= | =مقدمه= | ||
| − | [[ماژول]] | + | |
| − | = | + | [[ماژول]]ها افزونههای سبک و انعطاف پذیری هستند که در [http://www.joomlafarsi.com جوملا] به هنگام render شدن صفحه مورد استفاده قرار میگیرند. [[ماژول]]ها به طور معمول عناصر موجود در صفحات [[جوملا]] را ایجاد میکنند. |
| − | * mod_firstmodule.php : این فایل نقطه شروع خواندن [[ماژول]] ما توسط [[جوملا]] است. این فایل باید اجرا شود تا مقدار | + | |
| − | * 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 برای بازیابی | + | |
| − | + | ||
| − | 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() | + | |
| + | این فایل شامل کلاس تعریف شده در ''' 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> |
<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 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> | ||
| − | است. | + | |
| − | اینک باید یک فایل zip از فولد mod_firstmodule ایجاد نمایید که محتویات آن شامل کدهای بالا و | + | |
| + | است. | ||
| + | |||
| + | اینک باید یک فایل zip از فولد mod_firstmodule ایجاد نمایید که محتویات آن شامل کدهای بالا و فایلهای زیر باشد : | ||
| + | |||
<div dir="ltr"> | <div dir="ltr"> | ||
| − | + | #mod_firstmodule.php | |
| − | + | #index.html | |
| − | + | #mod_firstmodule.xml | |
| − | + | #helper.php | |
| − | + | #tmpl\default.php | |
| − | + | #tmpl\index.html | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
</div> | </div> | ||
| − | فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت | + | |
| + | فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت افزونههای [[جوملا]] را دارد. بعد از نصب [[ماژول]]، [[ماژول]] First Module در مدیریت [[ماژول]]ها قابل رویت خواهد بود. فقط کافیست این [[ماژول]] را در حالت منتشر شده در یک موقعیت در سایت تان قرار دهید تا خروجی [[ماژول]]ی که نوشتید را مشاهده کنید. | ||
---- | ---- | ||
| سطر ۱۲۲: | سطر ۱۵۹: | ||
{{کپی رایت}} | {{کپی رایت}} | ||
| − | [[رده: | + | [[رده:ماژولهای جوملا 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 ایجاد نمایید که محتویات آن شامل کدهای بالا و فایلهای زیر باشد :
- mod_firstmodule.php
- index.html
- mod_firstmodule.xml
- helper.php
- tmpl\default.php
- tmpl\index.html
فایل zip ایجاد شده در این مرحله قابلیت نصب شدن از قسمت مدیریت افزونههای جوملا را دارد. بعد از نصب ماژول، ماژول First Module در مدیریت ماژولها قابل رویت خواهد بود. فقط کافیست این ماژول را در حالت منتشر شده در یک موقعیت در سایت تان قرار دهید تا خروجی ماژولی که نوشتید را مشاهده کنید.
جمع آوری شده توسط :شهاب مطاع پور
|
|