ایجاد منو از نوع کامپوننت: تفاوت بین نسخهها
(صفحهای جدید حاوی «در این قسمت از آموزش ایجاد کامپوننت های [http://www.joomlafarsi.com جوملا] خواهیم آموخت...» ایجاد کرد) |
|||
| سطر ۱: | سطر ۱: | ||
| − | در این قسمت از آموزش ایجاد [[کامپوننت]] | + | در این قسمت از آموزش ایجاد [[کامپوننت]]های [http://www.joomlafarsi.com جوملا] خواهیم آموخت که چگونه یک نوع آیتم منو در مدیریت منوها از نوع [[کامپوننت]] ایجاد کنیم. بدین معنی که کاربران بتوانند آیتمهای منو از نوع [[کامپوننت]]ی که ما ایجاد کردهایم داشته باشند. در فریم ورک [[جوملا]] 2.5 نحوه دسترسی به [[کامپوننت]]ها توسط آیتمهای منو انجام میشود. اگر این سری آموزشها را دنبال کرده باشید حتما توجه کردهاید که تاکنون از مدیریت منوها قادر به ایجاد منو از نوع [[کامپوننت]] helloworld نبودیم. اینک تصمیم داریم که این امکان را به کاربران دهیم تا یک آیتم منو از نوع [[کامپوننت]] helloworld بسازند. |
| − | + | ||
در آدرس ''site\views\hello\tmpl'' باید یک فایل به نام default.xml در پوشه tmpl ایجاد کنیم که شامل کدهای زیر باشد. | در آدرس ''site\views\hello\tmpl'' باید یک فایل به نام default.xml در پوشه tmpl ایجاد کنیم که شامل کدهای زیر باشد. | ||
| + | |||
| + | |||
<source lang="xml" > | <source lang="xml" > | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
| سطر ۱۰: | سطر ۱۲: | ||
</metadata> | </metadata> | ||
</source> | </source> | ||
| + | |||
| + | |||
فایل ''helloworld.xml'' باید شامل کدهای زیر باشد: | فایل ''helloworld.xml'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="xml" > | <source lang="xml" > | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
| سطر ۴۱: | سطر ۴۷: | ||
</install> | </install> | ||
</source> | </source> | ||
| + | |||
| + | |||
فایل ''site/hello.php'' باید شامل کدهای زیر باشد: | فایل ''site/hello.php'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="php" > | <source lang="php" > | ||
<?php | <?php | ||
| سطر ۶۰: | سطر ۷۰: | ||
Hello World Administrator | Hello World Administrator | ||
</div> | </div> | ||
| + | |||
| + | |||
و فایل ''index.html'' در تمام فولدرهای موجود در کامپوننت به صورت مشترک باید شامل کد زیر باشد: | و فایل ''index.html'' در تمام فولدرهای موجود در کامپوننت به صورت مشترک باید شامل کد زیر باشد: | ||
| + | |||
| + | |||
<source lang="xml" > | <source lang="xml" > | ||
<html><body bgcolor="#FFFFFF"></body></html> | <html><body bgcolor="#FFFFFF"></body></html> | ||
</source> | </source> | ||
| + | |||
| + | |||
فایل ''site/controller.php'' باید شامل کدهای زیر باشد: | فایل ''site/controller.php'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="php" > | <source lang="php" > | ||
<?php | <?php | ||
| سطر ۷۶: | سطر ۹۴: | ||
?> | ?> | ||
</source> | </source> | ||
| + | |||
| + | |||
فایل ''site\views\hello\view.html.php'' باید شامل کدهای زیر باشد: | فایل ''site\views\hello\view.html.php'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="php" > | <source lang="php" > | ||
<?php | <?php | ||
| سطر ۹۶: | سطر ۱۱۸: | ||
?> | ?> | ||
</source> | </source> | ||
| + | |||
| + | |||
فایل ''site\views\hello\tmpl\default.php'' باید شامل کدهای زیر باشد: | فایل ''site\views\hello\tmpl\default.php'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="php" > | <source lang="php" > | ||
<?php | <?php | ||
| سطر ۱۰۸: | سطر ۱۳۴: | ||
</h1> | </h1> | ||
</source> | </source> | ||
| + | |||
| + | |||
سرانجام فایل ''site\views\hello\tmpl\default.xml'' باید شامل کدهای زیر باشد: | سرانجام فایل ''site\views\hello\tmpl\default.xml'' باید شامل کدهای زیر باشد: | ||
| + | |||
| + | |||
<source lang="xml" > | <source lang="xml" > | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
| سطر ۱۱۷: | سطر ۱۴۷: | ||
</metadata> | </metadata> | ||
</source> | </source> | ||
| − | در این مرحله باید فایل helloworld.zip که شامل تمام | + | |
| − | + | ||
| − | با استفاده از قسمت '''مدیریت افزونه''' | + | در این مرحله باید فایل helloworld.zip که شامل تمام فایلها و پوشهها اشاره شده در این مقاله است را آماده کنید. |
| + | |||
| + | توجه داشته باشید که مشروح کدهایی که در این بخش از آنها استفاده کردیم در آموزشهای قبلی توضیح داده شدهاند و در این سری تنها این فایل xml اضافه شده است، که به بررسی آن میپردازیم عبارتی که داخل تگ '''message''' مشاهده میکنید عبارتی است که در مدیریت منوها هنگامی که تصمیم دارید آیتم منویی از نوع [[کامپوننت]] آموزشی مان بسازید نمایش داده میشود. | ||
| + | |||
| + | با استفاده از قسمت '''مدیریت افزونه'''های [[جوملا]] باید فایل مذکور را در [[جوملا]] نصب کنیم. بعد از نصب این افزونه آموزشی در آموزشهای قبلی دیدیم که چطور یک زیرمنو به نام comehelloworld در '''منوی [[کامپوننت]]ها''' قرار گرفت که شما میتوانید جهت تست برروی آن کلیک کنید یا آدرس <nowiki>http://localhost/sitename/administrator/index.php?option=com_hello</nowiki> را در آدرس بار مرورگر وارد کنید تا نتیجه ای همانند شکل زیر ببینید. | ||
| + | |||
| + | |||
[[پرونده: Lastresult zip admin.jpg|center|frame ]] | [[پرونده: Lastresult zip admin.jpg|center|frame ]] | ||
| + | |||
| + | |||
جهت تست front-end سایت میتوانیم آدرس <nowiki>http://localhost/sitename/index.php?option=com_hello</nowiki> را در آدرس بار مرورگرمان وارد کنیم. نتیجه آن باید همانند شکل زیر باشد. | جهت تست front-end سایت میتوانیم آدرس <nowiki>http://localhost/sitename/index.php?option=com_hello</nowiki> را در آدرس بار مرورگرمان وارد کنیم. نتیجه آن باید همانند شکل زیر باشد. | ||
| + | |||
| + | |||
[[پرونده: View component user view.png|center|frame ]] | [[پرونده: View component user view.png|center|frame ]] | ||
| − | در مقالات قبل تا این مراحل پیش رفته بودیم اگر | + | |
| + | |||
| + | در مقالات قبل تا این مراحل پیش رفته بودیم اگر تاکنون موفق نشدید 2 نتیجه بالا را مشاهده کنید باید مجددا مقالات قبل را مطالعه کنید اما اگر تاکنون همه چیز بدرستی کار کرده میتوانید به از '''مدیریت منوها''' ← '''منوی اصلی''' (یا هر منوی دیگری) ← '''ایجاد آیتم منوی جدید''' کلیک کنید. سپس از صفحه انتخاب انواع منوها از قسمت hello میتوانید نتیجه کارتان را مشاهده کنید. | ||
| + | |||
| + | |||
[[پرونده: Menuitem-for-component.jpg|center|frame ]] | [[پرونده: Menuitem-for-component.jpg|center|frame ]] | ||
| + | |||
جهت دانلود فایلهای مربوط به این آموزش میتوانید به آدرس http://extensions.joomlafarsi.com/download/viewcategory/52.html مراجعه نمایید. | جهت دانلود فایلهای مربوط به این آموزش میتوانید به آدرس http://extensions.joomlafarsi.com/download/viewcategory/52.html مراجعه نمایید. | ||
نسخهٔ ۲۱ فوریهٔ ۲۰۱۳، ساعت ۰۸:۲۶
در این قسمت از آموزش ایجاد کامپوننتهای جوملا خواهیم آموخت که چگونه یک نوع آیتم منو در مدیریت منوها از نوع کامپوننت ایجاد کنیم. بدین معنی که کاربران بتوانند آیتمهای منو از نوع کامپوننتی که ما ایجاد کردهایم داشته باشند. در فریم ورک جوملا 2.5 نحوه دسترسی به کامپوننتها توسط آیتمهای منو انجام میشود. اگر این سری آموزشها را دنبال کرده باشید حتما توجه کردهاید که تاکنون از مدیریت منوها قادر به ایجاد منو از نوع کامپوننت helloworld نبودیم. اینک تصمیم داریم که این امکان را به کاربران دهیم تا یک آیتم منو از نوع کامپوننت helloworld بسازند.
در آدرس site\views\hello\tmpl باید یک فایل به نام default.xml در پوشه tmpl ایجاد کنیم که شامل کدهای زیر باشد.
<source lang="xml" >
<?xml version="1.0" encoding="utf-8"?> <metadata> <layout title="New Hello Menu Item"> <message>New Hello Menu Item Desc</message> </layout> </metadata>
</source>
فایل helloworld.xml باید شامل کدهای زیر باشد:
<source lang="xml" >
<?xml version="1.0" encoding="utf-8"?>
<install type="component" version="2.5">
<name>hello</name>
<creationDate>2013-01-19</creationDate>
<author>Shahab Matapour</author>
<authorEmail>[email protected]</authorEmail>
<authorUrl>http://www.joomlafarsi.com</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<version>1.03</version>
<description>اضافه کردن آیتم منو در مدیریت منوها</description>
<files folder="site"> <filename>index.html</filename> <filename>hello.php</filename> <filename>controller.php</filename> <folder>views</folder> </files> <administration> <files folder="admin"> <filename>index.html</filename> <filename>hello.php</filename> </files> </administration> </install> </source>
فایل site/hello.php باید شامل کدهای زیر باشد:
<source lang="php" >
<?php
//No direct access to the file
defined('_JEXEC') or die('Restricted Access not allowed');
//import joomla controller library
jimport('joomla.application.component.controller');
//get an instance of the controller prefixed by HelloWorld
$controller = JController::getInstance('Hello');
//perform the request task
$controller->execute(JRequest::getCmd('task'));
//Redirect if set by controller
$controller->redirect();
?>
</source>
فایل admin/hello.php باید شامل کدهای زیر باشد:
Hello World Administrator
و فایل index.html در تمام فولدرهای موجود در کامپوننت به صورت مشترک باید شامل کد زیر باشد:
<source lang="xml" >
<html><body bgcolor="#FFFFFF"></body></html>
</source>
فایل site/controller.php باید شامل کدهای زیر باشد:
<source lang="php" >
<?php
//No direct access to this file should be called by Joomla
defined('_JEXEC') or die('Restricted Access');
//import joomla controller library
jimport('joomla.application.component.controller');
class HelloController extends JController
{
}
?>
</source>
فایل site\views\hello\view.html.php باید شامل کدهای زیر باشد:
<source lang="php" >
<?php
//No direct access to this file should be called by Joomla
defined('_JEXEC') or die('Restricted Access');
//import joomla controller library
jimport('joomla.application.component.view');
class HelloViewHello extends JView
{
//Overrite JView display method
function display($tpl = null)
{
//Assign data to the view
$this->msg = 'Hello World in View';
//Display the View
parent::display($tpl);
}
}
?>
</source>
فایل site\views\hello\tmpl\default.php باید شامل کدهای زیر باشد:
<source lang="php" >
<?php
//No direct access to this file should be called by Joomla
defined('_JEXEC') or die('Restricted Access');
?>
<?php echo $this->msg; ?>
</source>
سرانجام فایل site\views\hello\tmpl\default.xml باید شامل کدهای زیر باشد:
<source lang="xml" >
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="New Hello Menu Item">
<message>New Hello Menu Item Desc</message>
</layout>
</metadata>
</source>
در این مرحله باید فایل helloworld.zip که شامل تمام فایلها و پوشهها اشاره شده در این مقاله است را آماده کنید.
توجه داشته باشید که مشروح کدهایی که در این بخش از آنها استفاده کردیم در آموزشهای قبلی توضیح داده شدهاند و در این سری تنها این فایل xml اضافه شده است، که به بررسی آن میپردازیم عبارتی که داخل تگ message مشاهده میکنید عبارتی است که در مدیریت منوها هنگامی که تصمیم دارید آیتم منویی از نوع کامپوننت آموزشی مان بسازید نمایش داده میشود.
با استفاده از قسمت مدیریت افزونههای جوملا باید فایل مذکور را در جوملا نصب کنیم. بعد از نصب این افزونه آموزشی در آموزشهای قبلی دیدیم که چطور یک زیرمنو به نام comehelloworld در منوی کامپوننتها قرار گرفت که شما میتوانید جهت تست برروی آن کلیک کنید یا آدرس http://localhost/sitename/administrator/index.php?option=com_hello را در آدرس بار مرورگر وارد کنید تا نتیجه ای همانند شکل زیر ببینید.
جهت تست front-end سایت میتوانیم آدرس http://localhost/sitename/index.php?option=com_hello را در آدرس بار مرورگرمان وارد کنیم. نتیجه آن باید همانند شکل زیر باشد.
در مقالات قبل تا این مراحل پیش رفته بودیم اگر تاکنون موفق نشدید 2 نتیجه بالا را مشاهده کنید باید مجددا مقالات قبل را مطالعه کنید اما اگر تاکنون همه چیز بدرستی کار کرده میتوانید به از مدیریت منوها ← منوی اصلی (یا هر منوی دیگری) ← ایجاد آیتم منوی جدید کلیک کنید. سپس از صفحه انتخاب انواع منوها از قسمت hello میتوانید نتیجه کارتان را مشاهده کنید.
جهت دانلود فایلهای مربوط به این آموزش میتوانید به آدرس http://extensions.joomlafarsi.com/download/viewcategory/52.html مراجعه نمایید.
جمع آوری شده توسط :شهاب مطاع پور
|
|


