ایجاد متغیر در ماژول نویسی: تفاوت بین نسخهها
(صفحهای جدید حاوی «=مقدمه= در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار ماژول نویسی [h...» ایجاد کرد) |
|||
| سطر ۱: | سطر ۱: | ||
=مقدمه= | =مقدمه= | ||
| − | در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار [[ماژول]] نویسی [http://www.joomlafarsi.com جوملا] بررسی خواهیم نمود. اضافه کردن متغیر به یک [[ماژول]] بسیار ساده است و این کار از طریق فایل xml نصبی [[ماژول]] انجام | + | |
| + | در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار [[ماژول]] نویسی [http://www.joomlafarsi.com جوملا] بررسی خواهیم نمود. اضافه کردن متغیر به یک [[ماژول]] بسیار ساده است و این کار از طریق فایل xml نصبی [[ماژول]] انجام میگردد به این منظور ما باید یک سری کد در فایل xml نصبی [[ماژول]] قرار دهیم. | ||
| + | |||
=ایجاد متغیر= | =ایجاد متغیر= | ||
| − | در فایل نصبی xml تگ config را همانند کدهای زیر اضافه | + | |
| + | در فایل نصبی xml تگ config را همانند کدهای زیر اضافه میکنیم. | ||
| + | |||
| + | |||
<source lang="xml"> | <source lang="xml"> | ||
<config> | <config> | ||
| سطر ۲۳: | سطر ۲۸: | ||
</config> | </config> | ||
</source> | </source> | ||
| − | تگ '''<fields>''' شامل نام و ویژگیهایی که در فایل [[php]] برای دسترسی به متغیر(ها) مورد استفاده قرار | + | |
| − | + | ||
| − | تگ '''<fieldset>''' شامل گروهی از متغیرها با نام و | + | تگ '''<fields>''' شامل نام و ویژگیهایی که در فایل [[php]] برای دسترسی به متغیر(ها) مورد استفاده قرار میگیرد است. |
| − | + | ||
| − | تگ '''<field>''' شامل متغیرها به علاوه جزئیاتی مانند مقادیر و | + | تگ '''<fieldset>''' شامل گروهی از متغیرها با نام و ویژگیهای آنها میباشد. |
| + | |||
| + | تگ '''<field>''' شامل متغیرها به علاوه جزئیاتی مانند مقادیر و ویژگیهای گوناگون آنها نظیر نام متغیر, نوع متغیر, مقدار پیش فرض متغیر, برچسب توضیحات [[ماژول]] و ... میباشد. در این مثال ما دو متغیر با نامهای width و height ایجاد کردیم. | ||
| + | |||
=نحوه دسترسی به متغیرها= | =نحوه دسترسی به متغیرها= | ||
| − | متغیرهایی که در بالا ایجاد کردیم | + | |
| + | متغیرهایی که در بالا ایجاد کردیم میبایست در یک فایل [[php]] مورد دسترسی و پردازش قرار گیرند و این کار توسط تابع '''()get''' امکان پذیر میباشد. | ||
| + | |||
| + | |||
<source lang="php"> | <source lang="php"> | ||
$width = $params->get('width'); | $width = $params->get('width'); | ||
$height = $params->get('height'); | $height = $params->get('height'); | ||
</source> | </source> | ||
| + | |||
| + | |||
توجه داشته باشید این '''praram$''' را در فایل xml در تگ '''fields''' تعریف کردیم. | توجه داشته باشید این '''praram$''' را در فایل xml در تگ '''fields''' تعریف کردیم. | ||
| − | = | + | |
| − | mod_varreq.php : این فایل ورودی [[ماژول]] است همچین این فایل وظیفه اجرا و فراخوانی | + | =فایلهای مورد نیاز= |
| − | helper.php : این فایل شامل کلاس helper که خود شامل کلکسیونی از | + | |
| − | mod_varreq.xml : این فایل شامل اطلاعاتی راجب [[ماژول]] است و همچنین از این فایل جهت نصب [[ماژول]] در [[جوملا]] استفاده | + | mod_varreq.php : این فایل ورودی [[ماژول]] است همچین این فایل وظیفه اجرا و فراخوانی دادههای مورد نیاز در Helper و همچنین include کردن قالب برای نمایش در خروجی [[ماژول]] را برعهده دارد. |
| + | |||
| + | helper.php : این فایل شامل کلاس helper که خود شامل کلکسیونی از دادههای مورد نیاز است میباشد. دادههای این فایل در [[ماژول]] از [[پایگاه داده]]ها یا هر منبع دیگری میتوانند استفاده کنند. | ||
| + | |||
| + | mod_varreq.xml : این فایل شامل اطلاعاتی راجب [[ماژول]] است و همچنین از این فایل جهت نصب [[ماژول]] در [[جوملا]] استفاده میشود. | ||
| + | |||
=ایجاد فایل mod_varreq.php= | =ایجاد فایل mod_varreq.php= | ||
| + | |||
کد کامل فایل '''mod_varreq.php''' به صورت زیر است | کد کامل فایل '''mod_varreq.php''' به صورت زیر است | ||
| + | |||
| + | |||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
| سطر ۵۳: | سطر ۷۴: | ||
?> | ?> | ||
</source> | </source> | ||
| + | |||
| + | |||
=ایجاد فایل helper.php= | =ایجاد فایل helper.php= | ||
| − | این فایل شامل کلاس تعریف شده در فایل '''mod_ varreq.php''' | + | |
| + | این فایل شامل کلاس تعریف شده در فایل '''mod_ varreq.php''' میباشد, در این مثال شامل کلاس '''modVarreqHelper''' و تابع '''()getHello''' میباشد. کد کامل فایل helper به صورت زیر است | ||
| + | |||
| + | |||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
| سطر ۶۸: | سطر ۹۴: | ||
?> | ?> | ||
</source> | </source> | ||
| + | |||
| + | |||
=ایجاد فایل نصبی = | =ایجاد فایل نصبی = | ||
| + | |||
این فایل شامل اطلاعاتی در مورد [[ماژول]] است. کد کامل فایل '''mod_varreq.xml''' به صورت زیر است | این فایل شامل اطلاعاتی در مورد [[ماژول]] است. کد کامل فایل '''mod_varreq.xml''' به صورت زیر است | ||
| + | |||
| + | |||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
| سطر ۱۰۵: | سطر ۱۳۶: | ||
</extension> | </extension> | ||
</source> | </source> | ||
| + | |||
| + | |||
=ایجاد فایل tmpl/default.php = | =ایجاد فایل tmpl/default.php = | ||
| − | این فایل شامل خروجی است که [[ماژول]] نمایش | + | |
| + | این فایل شامل خروجی است که [[ماژول]] نمایش میدهد. این فایل شامل scope مشابه فایل '''mod_varreq.php''' است لذا متغیرهای تعریف شده در فایل '''mod_varreq.php''' به صورت مستقیم از این فایل قابل دسترسی هستند. بنابراین متغیر '''hello$''' که در فایل default.php تعریف شده است در فایل '''mod_varreq.php''' مستقیما قابل دسترسی است. کدهای فایل ''' tmpl/default.php''' به صورت زیر است. | ||
| + | |||
| + | |||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
| سطر ۱۲۲: | سطر ۱۵۸: | ||
</html> | </html> | ||
</source> | </source> | ||
| + | |||
| + | |||
=ایجاد فایل index.html= | =ایجاد فایل index.html= | ||
| − | وظیفه این فایل نمایش یک صفحه خالی جهت جلوگیری از دسترسی مستقیم به | + | |
| + | وظیفه این فایل نمایش یک صفحه خالی جهت جلوگیری از دسترسی مستقیم به فایلها است. | ||
| + | |||
| + | |||
<source lang="php"> | <source lang="php"> | ||
<html><body bgcolor="#FFFFFF"></body></html> | <html><body bgcolor="#FFFFFF"></body></html> | ||
</source> | </source> | ||
| − | در این مرحله باید یک فایل '''zip''' با نام '''mod_varreq''' ایجاد کنیم و این فایل باید شامل | + | |
| + | |||
| + | در این مرحله باید یک فایل '''zip''' با نام '''mod_varreq''' ایجاد کنیم و این فایل باید شامل فایلها و فولدرهای زیر باشد. | ||
| + | |||
* mod_varreq.php | * mod_varreq.php | ||
* index.html | * index.html | ||
| سطر ۱۳۴: | سطر ۱۷۸: | ||
* tmpl\default.php | * tmpl\default.php | ||
* tmpl\index.html | * tmpl\index.html | ||
| − | فایل zip بالا | + | |
| + | فایل zip بالا میتواند از قسمت مدیریت افزونهها در مدیریت [[جوملا]] نصب شود. | ||
| + | |||
| + | |||
[[پرونده:Mod_varreq.jpg |center|frame ]] | [[پرونده:Mod_varreq.jpg |center|frame ]] | ||
| + | |||
| + | |||
اگر این [[ماژول]] را در حالت '''منتشر شده''' در یک موقعیت مناسب در قالب سایت تان قرار دهید خروجی کار به شکل زیر خواهد بود. | اگر این [[ماژول]] را در حالت '''منتشر شده''' در یک موقعیت مناسب در قالب سایت تان قرار دهید خروجی کار به شکل زیر خواهد بود. | ||
| + | |||
| + | |||
[[پرونده:Result_mod_varreq.jpg |center|frame ]] | [[پرونده:Result_mod_varreq.jpg |center|frame ]] | ||
| + | |||
---- | ---- | ||
نسخهٔ کنونی تا ۸ سپتامبر ۲۰۱۳، ساعت ۰۳:۵۸
محتویات
مقدمه
در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار ماژول نویسی جوملا بررسی خواهیم نمود. اضافه کردن متغیر به یک ماژول بسیار ساده است و این کار از طریق فایل xml نصبی ماژول انجام میگردد به این منظور ما باید یک سری کد در فایل xml نصبی ماژول قرار دهیم.
ایجاد متغیر
در فایل نصبی xml تگ config را همانند کدهای زیر اضافه میکنیم.
<source lang="xml">
<config>
<fields name="params">
<fieldset name="basic">
<field
name="width"
type="text"
default="185"
label="Image Width"
description="Image Width in px" />
<field
name="height"
type="text"
default="300"
label="Image Height"
description="Image Height in px" />
</fieldset>
</fields>
</config>
</source>
تگ <fields> شامل نام و ویژگیهایی که در فایل php برای دسترسی به متغیر(ها) مورد استفاده قرار میگیرد است.
تگ <fieldset> شامل گروهی از متغیرها با نام و ویژگیهای آنها میباشد.
تگ <field> شامل متغیرها به علاوه جزئیاتی مانند مقادیر و ویژگیهای گوناگون آنها نظیر نام متغیر, نوع متغیر, مقدار پیش فرض متغیر, برچسب توضیحات ماژول و ... میباشد. در این مثال ما دو متغیر با نامهای width و height ایجاد کردیم.
نحوه دسترسی به متغیرها
متغیرهایی که در بالا ایجاد کردیم میبایست در یک فایل php مورد دسترسی و پردازش قرار گیرند و این کار توسط تابع ()get امکان پذیر میباشد.
<source lang="php">
$width = $params->get('width');
$height = $params->get('height');
</source>
توجه داشته باشید این praram$ را در فایل xml در تگ fields تعریف کردیم.
فایلهای مورد نیاز
mod_varreq.php : این فایل ورودی ماژول است همچین این فایل وظیفه اجرا و فراخوانی دادههای مورد نیاز در Helper و همچنین include کردن قالب برای نمایش در خروجی ماژول را برعهده دارد.
helper.php : این فایل شامل کلاس helper که خود شامل کلکسیونی از دادههای مورد نیاز است میباشد. دادههای این فایل در ماژول از پایگاه دادهها یا هر منبع دیگری میتوانند استفاده کنند.
mod_varreq.xml : این فایل شامل اطلاعاتی راجب ماژول است و همچنین از این فایل جهت نصب ماژول در جوملا استفاده میشود.
ایجاد فایل mod_varreq.php
کد کامل فایل mod_varreq.php به صورت زیر است
<source lang="php">
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'helper.php' );
$hello = modVarreqHelper::getHello( $params );
$width = $params->get('width');
$height = $params->get('height');
require( JModuleHelper::getLayoutPath( 'mod_varreq' ) );
?>
</source>
ایجاد فایل helper.php
این فایل شامل کلاس تعریف شده در فایل mod_ varreq.php میباشد, در این مثال شامل کلاس modVarreqHelper و تابع ()getHello میباشد. کد کامل فایل helper به صورت زیر است
<source lang="php">
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
class modVarreqHelper
{
static function getHello($params)
{
return 'Helper Hello World';
}
}
?>
</source>
ایجاد فایل نصبی
این فایل شامل اطلاعاتی در مورد ماژول است. کد کامل فایل mod_varreq.xml به صورت زیر است
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" client="site" method="upgrade">
<name>VAriable Request</name>
<author>Joomla Farsi Team</author>
<version>1.7</version>
<description>جوملا فارسی مترجم برگزیده جوملا در ایران</description>
<files>
<filename>mod_varreq.xml</filename>
<filename module="mod_varreq">mod_varreq.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="width"
type="text"
default="185"
label="Image Width"
description="Image Width in px" />
<field
name="height"
type="text"
default="300"
label="Image Height"
description="Image Height in px" />
</fieldset>
</fields>
</config>
</extension>
</source>
ایجاد فایل tmpl/default.php
این فایل شامل خروجی است که ماژول نمایش میدهد. این فایل شامل scope مشابه فایل mod_varreq.php است لذا متغیرهای تعریف شده در فایل mod_varreq.php به صورت مستقیم از این فایل قابل دسترسی هستند. بنابراین متغیر hello$ که در فایل default.php تعریف شده است در فایل mod_varreq.php مستقیما قابل دسترسی است. کدهای فایل tmpl/default.php به صورت زیر است.
<source lang="php">
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<html>
<body>
<?php echo $hello; ?>
width = <?php echo $width; ?>
height = <?php echo $height; ?>
</body>
</html>
</source>
ایجاد فایل index.html
وظیفه این فایل نمایش یک صفحه خالی جهت جلوگیری از دسترسی مستقیم به فایلها است.
<source lang="php">
<html><body bgcolor="#FFFFFF"></body></html>
</source>
در این مرحله باید یک فایل zip با نام mod_varreq ایجاد کنیم و این فایل باید شامل فایلها و فولدرهای زیر باشد.
- mod_varreq.php
- index.html
- mod_varreq.xml
- helper.php
- tmpl\default.php
- tmpl\index.html
فایل zip بالا میتواند از قسمت مدیریت افزونهها در مدیریت جوملا نصب شود.
اگر این ماژول را در حالت منتشر شده در یک موقعیت مناسب در قالب سایت تان قرار دهید خروجی کار به شکل زیر خواهد بود.
جمع آوری شده توسط :شهاب مطاع پور
|
|

