1 1 1 1 1 1 1 1 1 1 امتیاز 0.00 (0 رای)

چگونگی ایجاد یک ماژول جوملا

Joomla Module ماژول

اغلب اوقات شما نیاز به نمایش یک بلوک کوچک با برخی از اطلاعات در سایت جوملا خود دارید. مثلا این می تواند یک بلوک با یک پیشنهاد، یا یک نوار ورودی، یا یک خبرنامه باشد. این دقیقا همان کاری است که ماژول های جوملا برای انجامشان ایجاد می شوند. در این آموزش، ما به شما نشان خواهیم داد که چگونه ماژول پایه جوملا خود را ایجاد کنید، حتی اگر کدنویسی بلد نیستید و نمی دانید چگونه کد گذاری کنید.


 مرحله 1. ایجاد یک ساختار دایرکتوری

داخل دایرکتوری ماژول از سایت جوملا Joomla → modules پوشه های زیر را  ایجاد کنید:


/ public_html / modules / mod_firstmodule
/ public_html / modules / mod_firstmodule / tmpl
/ public_html / modules / mod_firstmodule / language
/ public_html / modules / mod_firstmodule / language / en-GB

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


 مرحله 2. ایجاد mod_firstmodule.php

  • داخل پوشه mod_firstmodule یک فایل به نام mod_firstmodule.php ایجاد کنید.
  • کد زیر را در این فایل قرار دهید:
<?php
/***
* @package Joomla.Site
* @subpackage mod_firstmodule
* @license GNU/GPL, see LICENSE.php
* @copyright Copyright (C) 2005 - 2018, Open Source Matters, Inc. All rights reserved.
***/
// no direct access
defined('_JEXEC') or die;
// include the syndicate functions only once
require_once dirname(__FILE__).'/helper.php';
?>
 <p>This is my first Joomla module. I am learning.</p>

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

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


 مرحله 3. ایجاد mod_firstmodule.xml

بخش اولیه

opening section

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="site" method="upgrade">
<name>mod_firstmodule</name>
<author>Joomla! Project</author>
<creationDate>November 2018</creationDate>
<copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>your_email_goes_here</authorEmail>
<authorUrl>www.joomaria.ir</authorUrl>
<version>1.1.0</version>
<description>My First Module</description>
<!-- This section defined which files and folders will be part of this module -->

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


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

the files section

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

<files>
 <filename module="mod_firstmodule">mod_firstmodule.php</filename>
<folder>tmpl</folder>
<filename>helper.php</filename>
</files>

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

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

بخش زبان ها

the language section

<!-- This section accesses the language files that are in the core language directory -->

<languages>
<language tag="en_GB">en_GB.mod_firstmodule.ini</language>
<language tag="en_GB">en_GB.mod_firstmodule.sys.ini</language>

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


پیکربندی Configuration و fieldsets

the config section

<extension>
 <config>
   <fields name="params">
    <fieldset name="basic">
     <field name="parent" type="category" extension="com_content" published="" label="First Module Label" description="My First Module Ever"/>
    </fieldset>
   </fields>
  </config>
</extension>

config حاوی fields و پارامترهای آنها است. توجه داشته باشید که دارای تگ باز و بسته است.


 مرحله 4. ایجاد helper.php

یک فایل helper.php با کد زیر ایجاد کنید:

<?php
/***
* @package Joomla.Site
* @subpackage mod_firstmodule
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
***/
defined('_JEXEC') or die;
?>
 <p>Let's put a greeting here</p>

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

چرا ما نیاز داریم؟ هنگامی که از شما خواسته شد فایل mod_firstmodule.php را بنویسید، در یک خط از require فایل helper.php را قرار دادید.
اگر بخواهید آن را در آن دستور فراخوانی کنید، اما آن را به کار نبرده باشید بنابراین جوملا به شما یک پیام خطا شامل اینکه "فایل یافت نشد" می فرستد. اگر نمی خواهید از این فایل  استفاده کنید، از فایل require در فایل 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>Let's put a greeting here</p>

مرحله 5. کار خود را بررسی کنید.

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

the finished module folder structure

بیایید آن را نصب و تست کنیم.

  •  در کنترل پنل جوملای خود، به «افزونه ها > مدیریت > کاوش» یا "Extensions > Manage > Discover" قسمت بروید:

02 go to extensions manage discover

توجه داشته باشید:
اگر شما هر گونه خطای PHP را ایجاد کرده اید، پس از کلیک کردن بر روی کاوش، یک پیام خطا خواهید داشت. اگر هر پیامی دریافت کردید، قبل از انجام هر کاری، کد را پاک کنید.

  • بر روی کادر کناری mod_firstmodule کلیک کنید و در گوشه بالا سمت راست صفحه روی Install کلیک کنید:

select the module and click install

در آخر شما پیام نصب "Discover install successful"را دریافت می کنید.

module installed successfully

  •  بعد از این مرحله به «افزونه ها > ماژول ها > جدید» یا "Extensions > Modules > New" بروید.
  • در لیست انواع ماژول نمایش داده شده، mod_firstmodule را کلیک کنید:

 click mod firstmodule to install the module

  • مانند هر ماژول جوملا، ماژول ساخته شده خود را عنوان کنید، به آن یک موقعیت و صفحاتی را جهت نمایش دادن آن، اختصاص دهید و آن را منتشر کنید. برای نمایش دادن ماژول ساخته شده توسط ما، نام ماژول را My First Module  نامیدیم و موقعیت آن را در سمت راست [موقعیت -7] قرار داده و آن را به تمام صفحات اختصاص دادیم.
  • روی ذخیره یا ذخیره و بستن کلیک کنید.
  • به سایت خود بروید، شما اکنون باید ماژول خود را مشاهده کنید:

module at the front end

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

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

نظرات (0)

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

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

  1. ارسال نظر به صورت مهمان . ثبت نام یا ورود
پیوست ها (0 / 1)
Share Your Location
تا 70% تخفیف برای محصولات ، جهت اطلاع از تخفیف این محصولات در کانال تلگرام ما عضو شوید عضویت در کانال تلگرام
Toggle Bar