اکانت ویژه

1 1 1 1 1 1 1 1 1 1 امتیاز 0.00 (0 رای)
آموزش ساخت ماژول در جوملا

ماژول ها افزونه های سبک و انعطاف پذیر هستند که برای رندر صفحه استفاده می شوند. این ماژول ها اغلب به صورت "جعبه" هستند که در اطراف یک کامپوننت در یک صفحه معمولی مرتب شده اند. یک مثال مشهور ماژول ورود به سیستم است. ماژول ها برای هر آیتم از منو اختصاص داده می شوند ، بنابراین می توانید بسته به اینکه کاربر در حال حاضر در کدام صفحه (آیتم منو) قرار دارد ، ماژول ورود را نشان می دهید یا مخفی کنید. برخی از ماژول ها به کامپوننت ها پیوند دارند: برای مثال ماژول "آخرین اخبار" به کامپوننت محتوا (com_content) پیوند می زند و پیوندها را به جدیدترین موارد محتوا متصل می کند. با این حال ، ماژول ها نیازی به اتصال به کامپوننت ها ندارند. آنها حتی نیازی به اتصال به مورد خاصی مانند افزونه یا کامپوننت ندارند و می توانند فقط HTML یا متنی ثابت باشند. اغلب اوقات شما نیاز به نمایش یک بلوک کوچک با برخی از اطلاعات در سایت جوملا خود دارید. مثلا این می تواند یک بلوک با یک پیشنهاد، یا یک نوار ورودی، یا یک خبرنامه باشد. این دقیقا همان کاری است که ماژول های جوملا برای انجامشان ایجاد می شوند. در این آموزش، ما به شما نشان خواهیم داد که چگونه ماژول پایه جوملا خود را ایجاد کنید، حتی اگر کدنویسی بلد نیستید و نمی دانید چگونه کد گذاری کنید. در زیر مراحل ساده ای برای ساخت یک ماژول در جوملا آورده ایم:


 ایجاد یک ساختار دایرکتوری

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


/ public_html / modules / mod_firstmodule
/ public_html / modules / mod_firstmodule / tmpl

  • در پوشه مربوط به لوکال خود و مربوط به این سایت جوملایی تان (همان سی پنل مدیریتی هاست) به پوشه ماژول ها بروید ( در درون root و public_html) و یک پوشه به نام mod_firstmodule در آنجا ایجاد کنید. ایجاد یک ماژول

نکته مهم: دایرکتوری باید با mod_ شروع شود و با نام ماژول همراه باشد. همانطور که مشاهده می کنید همه دایرکتوری ها این قرارداد نامگذاری را دنبال می کنند، این کار آسانی است. مهم ترین فایل ها نیز از همان قرارداد پیروی می کنند. این قسمت مهمی از کارکرد ماژول است.

1. ایجاد فایل helper.php

  • در پوشه mod_firstmodule یک فایل helper.php با کد زیر ایجاد کنید:

فایل helper.php

<?php
/**
* Helper class for Hello World! module
*
* @package Joomla.Tutorials
* @subpackage Modules
* @link http://docs.joomla.org/J3.x:Creating_a_simple_module/Developing_a_Basic_Module
* @license GNU/GPL, see LICENSE.php
* mod_helloworld is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/


class ModHelloWorldHelper {
/**
* Retrieves the hello message
*
* @param array $params An object containing the module parameters
*
* @access public
*/


public static function getHello($params) {
return 'Hello, World!';
}
}

?>

توجه:

helper.php برای عملکرد یک ماژول لازم نیست. اگر به دایرکتوری های دیگر ماژول ها نگاه کنید، تعداد زیادی از آنها را پیدا نمی کنید. اگرچه برای این مثالی که ما زده ایم به یکی از آن ها نیاز داریم.

چرا ما نیاز داریم؟ هنگامی که از شما خواسته شد فایل mod_firstmodule.php را بنویسید، در یک خط از require فایل helper.php را قرار دادید.
اگر بخواهید آن را در آن دستور فراخوانی کنید، اما آن را به کار نبرده باشید بنابراین جوملا به شما یک پیام خطا شامل اینکه "فایل یافت نشد" می فرستد. اگر نمی خواهید از این فایل  استفاده کنید، از فایل require در فایل php استفاده نکنید.

2. ایجاد mod_helloworld.php

  • داخل پوشه mod_firstmodule یک فایل به نام mod_helloworld.php ایجاد کنید. این یک نقطه ورود برای ماژول است که کارهای روتین و عادی را انجام می دهد ، داده های لازم را جمع می کند و خروجی ماژول را با استفاده از قالب نمایش می دهد.
  • کد زیر را در این فایل قرار دهید:
<?php
   /**
      * Hello World! Module Entry Point
      *
      * @package    Joomla.Tutorials
      * @subpackage Modules
      * @license    GNU/GPL, see LICENSE.php
      * @link       http://docs.joomla.org/J3.x:Creating_a_simple_module/Developing_a_Basic_Module
      * mod_helloworld is free software. This version may have been modified pursuant
      * to the GNU General Public License, and as distributed it includes or
      * is derivative of works licensed under the GNU General Public License or
      * other free or open source software licenses.
   */

   // No direct access
   defined('_JEXEC') or die;

   // Include the syndicate functions only once
   require_once dirname(__FILE__) . '/helper.php';

   $hello = modHelloWorldHelper::getHello($params);
   require JModuleHelper::getLayoutPath('mod_helloworld');
?>

توجه:

دستور کد  defined دسترسی به بقیه فایل  ها از هر اسکریپت غیر جوملا را محدود می کند. به عبارت دیگر، اگر آن فایل از جوملا نباشد، "می میرد" یا تمام اقدامات بعدی را متوقف کند.

به دستور require_once نیاز است تا محتویات فایل helper.php در زمان اجرا قبل از هر چیز دیگری به این فایل خوانده شوند. شما می توانید از دستور require برای استفاده از فایل های CSS، اضافه یا تغییر دادنشان استفاده کنید. شما می توانید فایل مورد نیاز را تغییر دهید اما هرگز نباید فایل اصلی را تغییر دهید. این یک روش بسیار مفید برای برنامه نویسی است. شما همیشه به یک فایل helper نیاز ندارید، بنابراین شما همیشه به یک دستورالعمل require نیاز ندارید.

 3. ایجاد mod_helloworld.xml

  • این پوشه حاوی اطلاعات مربوط به ماژول است. این فایل xml حاوی اطلاعات پوشه هایی است که برای ماژول در جوملا نصب می شوند.
<?xml version = "1.0" encoding = "utf-8"?>

<extension type = "module" version = "3.1.0" client = "site" method="upgrade">

   <name>Hello, World!</name>
   <author>Tutorials Point</author>
   <version>1.0.0</version>
   <description>A simple Hello World! module.</description>
	
   <files>
      <filename>mod_helloworld.xml</filename>
      <filename module = "mod_helloworld">mod_helloworld.php</filename>
      <filename>index.html</filename>
      <filename>helper.php</filename>
      <filename>tmpl/default.php</filename>
      <filename>tmpl/index.html</filename>
   </files>
	
   <config>
   </config>
	
</extension>

بیاید اکنون به بخش های دیگری که نیاز می باشد یک نگاهی بیاندازیم.

تعریف کردن بخش فایل ها

<!-- This section defined which files and folders will be part of this module -->

<files>
<filename>mod_helloworld.xml</filename>
<filename module = "mod_helloworld">mod_helloworld.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>

قسمت <files> پوشه ها و فایل هایی را که بخشی از این ماژول هستند تعیین می کند.

  • این قسمت شامل همه فایل ها در آن پوشه به صورت بازگشتی است.
  • این قسمت شامل یک فایل تکی و منحصر به فرد است.
  • اگر دقت کنید تمام فایل هایی را که در این مراحل در حال ایجادشان هستیم فرخوانی شده اند.

4. ایجادیک فایل html

  • یک فایل html ساده با نام index.html ایجاد کنید. هدف از نوشتن این پرونده اینست که ، فهرستهای ایجاد شده نباید مرور شوند. وقتی کاربر در این فهرست ها جستجو می کند ، فایل index.html نمایش داده می شود. حتی می توانید این پرونده را خالی نگه دارید. توجه داشته باشید ما در این مرحله باید یک پوشه به نام tmpl ایجاد کنیم و این فایل index.html را در آن کپی کنیم یعنی هم این فایل باید در پوشه اصلی "mod_firstmodule" قرار داشته باشد هم در درون پوشه دوم یعنی "tmpl"
<html>
<body> Welcome to Tutorials Point!!!!! </body>
</html>

5. ایجاد default.php 

  • پوشه ای بنام tmpl ایجاد کنید. پرونده default.php را مطابق شکل زیر و index.html (ایجاد شده در مرحله (4)) را در زیرمجموعه پوشه tmpl قرار دهید. پرونده default.php الگویی است که خروجی ماژول را نشان می دهد.
<?php
   /**
      * @package Joomla.Site
      * @subpackage mod_firstmodule
      * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
      * @license GNU General Public License version 2 or later; see LICENSE.txt
   */
defined('_JEXEC') or die;
>

<p>Hello World!!!!!!</p>

 

در اینجا نحوه نمایش mod_firstmodule در پوشه public_html / modules را می توانید بررسی کنید:

ساخت یک ماژول جوملا

  • بعد از اتمام ایجاد این همه پوشه، پوشه کامل mod_firstmodule را فشرده کنید.
  • سپس به مدیریت سایت جوملایی خود و در آنجا به افزونه ها > مدیریت > نصب بروید. شما می توانید اکنون فایلی را که در پوشه ماژول ها به نام ایجاد کرده و آن را فشرده سازی کرده اید با زدن بر روی دکمه سبز رنگ با عنوان "مرورگر فایل را باز کنید" آن را فراخوانی و آپلود کنید.

ساخت یک ماژول در جوملا

  • پس از آپلود ماژولی که ایجاد کردید اکنون می توان آن را در میان ماژول های دیگر در قسمت افزونه ها > ماژول ها ببینید. برای مشاهده ماژولتان به افزونه ها > ماژول ها بروید تا تصویر مانند شکل زیر برای شما نمایش داده شود:

ساخت یک ماژول در جوملا

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

این مطلب را به اشتراک بگذارید در :

نظرات (0)

تابحال برای این مطلب نظری داده نشده است .

نظر خود را اضافه کنید.

  1. ارسال نظر به صورت مهمان . ثبت نام یا ورود
پیوست ها (0 / 1)
Share Your Location