اضافه کردن پارامتر به منو

اضافه کردن پارامتر به منو

با سلام
تا این لحظه توانستید، رشته “!Hello world” را از طریق model به view مربوطه ارسال نمایید.
امروز طریقه اضافه کردن پارامتر به منو توضیح میدیم.
بریم سر اموزش
حالا تصور کنید که مدیر سایت، قادر باشد یکی از دو گزینه زیر را برای نمایش انتخاب نماید:

  • !Hello world
  • !Good bye World

قاعدتاً برای تنظیم رشته مورد نظر، باید زمانی که می خواهید یک منو از نوع helloworld ایجاد کنید، انجام شود.


تنظیم پارامتر برای نوع منوی helloworld

  1. در مدیریت جوملا، منوی (منو ها => منوی اصلی) را اجرا نمایید.
  2. روی دکمه “جدید” کلیک نمایید.
    مطابق شکل زیر، بعد از کلیک روی دکمه “انتخاب” فرم زیر ظاهر می شود. همانطور که در شکل مشخص است یک مجموعه “helloworld” با یک گزینه “COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE”، وجود دارد.
  3. روی عنوان “COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE” کلیک کنید.

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو1 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا
۴- مطابق شکل زیر، در سمت چپ پنجره، قسمت “انتخاب های مورد نیاز” اضافه شده است.
از لیست کشویی، گزینه “!Good bye World” را انتخاب نمایید.

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو1 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو2 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا
۵-روی دکمه “ذخیره” کلیک نمایید.
توجه: در فرم بالا، بعد از کلیک روی دکمه “ذخیره”، محتوی فیلد “لینک” برابر “index.php?option=com_helloworld&view=helloworld&id=2” خواهد شد. توجه فرمایید که قسمت “id=2” به URL اضافه شده است.


فایل نصب کامپوننت

در فایل نصب کامپوننت، قسمت های قرمز رنگ مطابق شکل زیر، اضافه یا تغییر خواهند کرد:

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو1 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو2 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کردن-پارامتر-به-منو3 اضافه کردن پارامتر به منو Joomla آموزش کامپوننت نویسی جوملا


فایل site/views/helloworld/tmpl/default.xml

با ویرایشگر دلخواهتان فایل site/views/helloworld/tmpl/default.xml را با محتوای زیر، ایجاد نمایید:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
                <message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
        </layout>
        <fields name="request">
                <fieldset name="request">
                        <field
                                name="id"
                                type="list"
                                label="COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL"
                                description="COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC"
                                default="1"
                        >
                                <option value="1">Hello World!</option>
                                <option value="2">Good bye World!</option>
                        </field>
                </fieldset>
        </fields>
</metadata>


به دو مورد مهم باید توجه داشته باشید:

  1. گروه فیلدهای request، نشان دهنده فیلدهای اضطراری اند. (انتخاب های مورد نیاز)
  2. ویژگی name از طریق URL، به کامپوننت ارسال می شود. بعنوان مثال، آدرس “option=com_helloworld&id=1?…” نشان خواهد داد که شما گزینه ۱ را انتخاب کرده اید.

فایل site/models/helloworld.php

برای حرکت بین دو رشته مختلف (!Hello World و !Good bye World)، باید model مربوط به view مورد نظر را اصلاح نمایید:

<?php
// No direct access to this file
defined(‘_JEXEC’) or die(‘Restricted access’);

// import Joomla modelitem library
jimport(‘joomla.application.component.modelitem’);

/**
* HelloWorld Model
*/
class HelloWorldModelHelloWorld extends JModelItem
{
/**
* @var string msg
*/
protected $msg;

/**
* Get the message
* @return string The message to be displayed to the user
*/
public function getMsg()
{
if (!isset($this->msg))
{
//Uses JInput if magic quotes is turned off. Falls back to use JRequest.
if(!get_magic_quotes_gpc()) {
$id = JFactory::getApplication()->input->get(‘id’, 1, ‘INT’ );
} else {
$id = JRequest::getInt(‘id’);
}

switch ($id)
{
case 2:
$this->msg = ‘Good bye World!’;
break;
default:
case 1:
$this->msg = ‘Hello World!’;
break;
}
}
return $this->msg;
}
}


فایل helloworld.xml

فقط کافی است نسخه کامپوننت را به ۰٫۰٫۵ تغییر دهید (۰٫۰٫۵):

<?xml version=”1.0″ encoding=”utf-8″?>
<!– $Id: helloworld.xml 14 2009-11-02 18:35:20Z chdemko $ –>
<extension type=”component” version=”1.6.0″ method=”upgrade”>
<name>Hello World!</name>
<!– The following elements are optional and free of formatting conttraints –>
<creationDate>November 2009</creationDate>
<author>webtekar</author>
<authorEmail>info@webtekar.ir</authorEmail>
<authorUrl>http://www.webtekar.ir</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!– The version string is recorded in the components table –>
<version>0.0.5</version>
<!– The description is optional and defaults to the name –>
<description>Description of the Hello World component …</description>
<update> <!– Runs on update; New in 1.6 –>
<schemas>
<schemapath type=”mysql”>sql/updates/mysql</schemapath>
</schemas>
</update>
<!– Site Main File Copy Section –>
<!– Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package –>
<files folder=”site”>
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
</files>
<administration>
<!– Administration Menu Section –>
<menu>Hello World!</menu>
<!– Administration Main File Copy Section –>
<!– Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package –>
<files folder=”admin”>
<!– Admin Main File Copy Section –>
<filename>index.html</filename>
<filename>helloworld.php</filename>
<!– SQL files section –>
<folder>sql</folder>
</files>
</administration>
</extension>

دوستان لطفا با دقت این مطلب بخونین تا مشکلی پیش نیاد.

در صورت بروز مشکل در نظرات برای ما اعلام کنید.


اگه به اشتراک نزاشتی حداقل لایک کن:(

نظر شما در رابطه با این آموزش چیست


بالا

تمامی حقوق مادی و معنوی این وبسایت محفوظ میباشد و متعلق است به Webtekar.ir.
Google