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

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو
(صفحه‌ای جدید حاوی «=مقدمه= در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار ماژول نویسی [h...» ایجاد کرد)
 
 
سطر ۱: سطر ۱:
 
=مقدمه=
 
=مقدمه=
در این مقاله آموزشی چگونگی ایجاد متغیرها را در ساختار [[ماژول]] نویسی [http://www.joomlafarsi.com جوملا] بررسی خواهیم نمود. اضافه کردن متغیر به یک [[ماژول]] بسیار ساده است و این کار از طریق فایل xml نصبی [[ماژول]] انجام می گردد به این منظور ما باید یک سری کد در فایل 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]] برای دسترسی به متغیر(ها) مورد استفاده قرار میگیرد است.
+
 
<br/>
+
 
تگ '''<fieldset>''' شامل گروهی از متغیرها با نام و ویژگیهای آنها میباشد.
+
تگ '''<fields>''' شامل نام و ویژگیهایی که در فایل [[php]] برای دسترسی به متغیر(ها) مورد استفاده قرار می‌گیرد است.
<br/>
+
 
تگ '''<field>''' شامل متغیرها به علاوه جزئیاتی مانند مقادیر و ویژگیهای گوناگون آنها نظیر نام متغیر, نوع متغیر, مقدار پیش فرض متغیر, برچسب توضیحات [[ماژول]] و ... میباشد. در این مثال ما دو متغیر با نامهای width و height ایجاد کردیم.
+
تگ '''<fieldset>''' شامل گروهی از متغیرها با نام و ویژگی‌های آنها می‌باشد.
 +
 
 +
تگ '''<field>''' شامل متغیرها به علاوه جزئیاتی مانند مقادیر و ویژگی‌های گوناگون آنها نظیر نام متغیر, نوع متغیر, مقدار پیش فرض متغیر, برچسب توضیحات [[ماژول]] و ... می‌باشد. در این مثال ما دو متغیر با نام‌های width و height ایجاد کردیم.
 +
 
 
=نحوه دسترسی به متغیرها=
 
=نحوه دسترسی به متغیرها=
متغیرهایی که در بالا ایجاد کردیم میبایست در یک فایل [[php]] مورد دسترسی و پردازش قرار گیرند و این کار توسط تابع '''()get''' امکان پذیر میباشد.
+
 
 +
متغیرهایی که در بالا ایجاد کردیم می‌بایست در یک فایل [[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 و همچنین include کردن قالب برای نمایش در خروجی [[ماژول]] را برعهده دارد.   <br/>
+
=فایل‌های مورد نیاز=
helper.php : این فایل شامل کلاس helper که خود شامل کلکسیونی از داده های مورد نیاز است میباشد. داده های این فایل در [[ماژول]] از [[پایگاه داده]] ها یا هر منبع دیگری میتوانند استفاده کنند   <br/>
+
 
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''' میباشد, در این مثال شامل کلاس '''modVarreqHelper''' و تابع '''()getHello''' می باشد. کد کامل فایل helper به صورت زیر است  
+
 
 +
این فایل شامل کلاس تعریف شده در فایل '''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''' به صورت زیر است.
+
 
 +
این فایل شامل خروجی است که [[ماژول]] نمایش می‌دهد. این فایل شامل 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 بالا می‌تواند از قسمت مدیریت افزونه‌ها در مدیریت جوملا نصب شود.


Mod varreq.jpg


اگر این ماژول را در حالت منتشر شده در یک موقعیت مناسب در قالب سایت تان قرار دهید خروجی کار به شکل زیر خواهد بود.


Result mod varreq.jpg



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

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