نوشتن یک کامپوننت ساده برای جوملا و روش نصب آن در جوملا 3
کد های mod_hello.php :
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
echo ('goodbye world');
?>
کدهای فایل mod_hello.xml :
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.0.3">
<name>goodbye, World!</name>
<author>اسم سازنده</author>
<version>1.5.0</version>
<description>A simple Hello, World! module.</description>
<files>
<filename module="mod_hello">mod_hello.php</filename>
</files>
<params>
</params>
</extension>
-----
پوشه ی mod_hello رو zip کنید .(mod_hello.zip)
-----
XAMPP رو اجرا و سرویس های apache و mysql رو run کنید.
----
وارد http://localhost/joomla/administrator بشید و با admin لاگین کنید و از منوی extension وارد بخش extension manager بشید .
در قسمت Upload Package File ، روی دکمه ی browse کلیک کنید و فایل mod_hello.zip رو برای آپلود انتخاب کنید.
روی دکمه upload and install کلیک کنید.
اگه موفق شدید باید پیام successful بیاد و در مسیر C:\xampp\htdocs\joomla\modules\ باید پوشه ی mod_hello ایجاد بشه.
نکته بعد از نصب کامپوننت شما باید توی قسمت مربوطه مثلا در اینجا چون type=module بود(توی فایل XML)،باید به بخش module manager بریم. ولی ممکنه قبل از اینکار احتیاج داشته باشیم یه بار logout و دوباره login کنیم چون ممکنه کامپوننت یا ماژول مربوطه نشون داده نشه.
ضمنا بعد از اینکه به بخش module manager رفتید ممکنه ماژول ما نشون داده نشه. در حالت عادی ممکنه فقط 5 یا 10 یا 20 تا ماژول لیست شده باشه و بقیه ی ماژول ها در صفحه ی 2 یا 3 یا ... باشن. تمظیمات رو طوری انجام بدید که همه ی ماژول ها لیست بشن.بعدش بگردید دنبال ماژول مربوطه. ما چون اینجا توی کد فایلمون نوشته بودیم goodby world همین اسم بدون در نظر گرفتن اسم خود ماژول که hello... بود نشون داده میشه.
در حال عادی اگه روی اون ضربدر قرمز زده باشه یعنی trash یا unpublish هست و موقتی هست.برای اینکه نشون داده بشه روی اون ضربدر قرمز کلیک می کنیم تا وضعیت به حالت سبز رنگ publish تنظیم بشه.بعدش روی ماژول کلیک می کنیم تا وارد بخش ویرایش یا edit بشیم.
توی بخش details بازم می تونید تنظیمات publish و غیره رو انجام بدید.
توی بخش menu assignment می تونید در بخش module assignment یا یه بخشی شبیه همین اسم،مشخص کنید که این ماژول توی همه ی صفحات نشون داده بشه یا توی صفحات خاصی نشون داده نشه یا ... که اگه یکم کار کنید و انگلیسیتون خوب باشه می تونید سر در بیارید طرز کارشو.نظر یادتون نره.