جوملا, کامپوننت, کامپوننت نویسی, توسعه جوملا, افزونه نویسی, ماژول, پلاگین, قالب, امنیت, سئو, seo, MVC, جوملا کار, جوملا نویس, مشاوره, طراحی قالب, آموزش, سایت, کامپوننت نویسی جوملا

کامپوننت نویسی جوملا و ماژول نویسی جوملا و پلاگین نویسی جوملا و خدمات جوملا و هاست جوملا

کامپوننت جوملا و ماژول جوملا و پلاگین جوملا و خدمات جوملا و هاست جوملا



آموزش طراحی و ساخت ماژول - قسمت سوم

این مورد را ارزیابی کنید
(6 رای‌ها)

 

در این آموزش قصد داریم افزودن پارامتر به ماژول را آموزش دهیم

برای این منظور دستورات زیر را به فایل xml اضافه می کنیم

<config>
<fields name="params">
<fieldset name="basic">
<field
type="list"
name="lang"
id="myTextFieldLang"
default="1"
label="LANGUAGE"
description ="" >
<option value="en-GB">English</option>
<option value="es-ES">Spanish</option>
<option value="fa-IR">Persian</option>
</field>
</fieldset>
</fields>
</config>


این دستورات به قدری گویا هستند که فکر نمیکنم نیاز به توضیح خاصی باشد. 

برای دریافت پارامتر از دستورات زیر استفاده می کنیم

$app = JFactory::getApplication();
$Params = $app->getParams();
$language = $params->get('lang', 1);

پارامتر دوم در params-&gt;get('lang', 'en-GB') تعیین میکند که اگر پارامتری ست نشده بود مقدار en-GB داشته باشد

لذا فایل mod_hellojoomstar.php را به شکل زیر بازنویسی می کنیم

<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

require_once( dirname(__FILE__).'/helper.php' );
 // get params
$app = JFactory::getApplication();
$Params = $app->getParams();
$language = $params->get('lang', '');
$hello = modHelloJoomstarHelper::getHello($language); require(JModuleHelper::getLayoutPath( 'mod_hellojoomstar' ) ); ?>

دقت کنید که پارامتر را دریافت کرده و به متد کلاس helper پاس می دهیم

  لذا متد getHello در فایل helper.php را به شکل زیر بازنویسی میکنیم

public static function getHello($language) {
$db
= JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('hello')) ->from($db->quoteName('#__hellojoomstar')) ->where('lang = '. $db->Quote($language)); //Prepare the query $db->setQuery($query); // Load the row. $result = $db->loadResult(); //Return the Hello return $result;
}

 هر گونه سوال را میتوانید در قسمت نظرات مطرح نمایید

بازدید 4244 بار

نظر دادن

از پر شدن تمامی موارد الزامی ستاره‌دار (*) اطمینان حاصل کنید. کد HTML مجاز نیست.

ورود