نحوه ساختن ماژول برای جوملا

hesam_dj10

Active Member
سلام
کسی بلده چه جوری برای جوملا ماژول نویسی میکنن

و همچنین چه طوری ترجمه میکنن

اگه فیلمی چیزی سراغ دارین بدین قول میدم ماژول باحال براتون بنویسم!!!!
 

sheisebaboo

Active Member
سلام/
برای ماژول نویسی باید هسته ی جوملا رو کاملا بشناسید و به زبان برنامه نویسی php تسلط کامل داشته باشید. جوملا هم از یکسری توابع مختلف استفاده میکنه.
چندنمونه ماژول جوملا رو دانلود کنید و کدها رو ببینید.

برای ترجمه ،در فولدر language جوملا فایلهای xml با نام خود ماژول و ... موجود هست. با ویرایش این فایلها میتونید ترجمه کنید.
 

hesam_dj10

Active Member
برای ماژول نویسی باید هسته ی جوملا رو کاملا بشناسید و به زبان برنامه نویسی php تسلط کامل داشته باشید. جوملا هم از یکسری توابع مختلف استفاده میکنه.
چندنمونه ماژول جوملا رو دانلود کنید و کدها رو ببینید.

چطوری میتونم با هسته جملا اشنا بشم
php بلدم
نگو که با دیدن کد چند تا ماژول میتونم!!!!
 

pouyacms

Member
سلام.
امیدوارم آموزش زیر بتونه براتون مفید باشه:

ببنید چهار فایل اصلی در الگوی استاندارد توسعه ماژول وجود دارد :

* mod_helloworld.php -- این پرونده در نقطه ورودی اصلی ماژول است.
هر گونه روال دهی اولیه لازم را انجام دهید، فراخوانی روال کمکی به جمع آوری هر گونه اطلاعات لازم و شامل قالب است که از خروجی ماژول نمایش داده شود.

* mod_helloworld.xml -- این پرونده حاوی اطلاعات در مورد ماژول است.
ایجاد این فایل برای شناساندن محتویات ماژول به جوملا الزامی است

* * * * * تعداد helper.php -- این فایل حاوی کلاس کمکی استفاده شده است که به انجام کار واقعی در بازیابی اطلاعات در ماژول نمایش داده شده (معمولا از پایگاه داده ها و یا برخی از منابع دیگر) است.

* tmpl / default.php -- قالب ماژول. داده های توسط mod_helloworld.phpجمع آوری شده و تولید HTML بر روی صفحه نمایش داده می نماید.

______________________________________________
کدها
______________________________________________
یک پوشه جدید به نام mod_helloworld بسازید
در پوشه ساخته شده نیز یک پوشه به نام tmpl بسازید.
_____________________________________________
کدهای:

<?php
/**
* Hello World! Module Entry Point
*
* @package Joomla.Tutorials
* @subpackage Modules
* @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
* @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.
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

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

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

را در نوت پد کپی نموده و در فایل mod_helloworld به نام mod_helloworld.php
ذخیره نمایید
_____________________________________________________________________
فایل helper.php
طبق روال بالا در پوشه mod_helloworld ذخیره نمایید

<?php
/**
* Helper class for Hello World! module
*
* @package Joomla.Tutorials
* @subpackage Modules
* @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
* @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
*/
function getHello( $params )
{
return 'Hello, World!';
}
}
?>
____________________________________________________________________
کدهای زیر را در پوشه tmpl برای فایل default.php ذخیره نمایید
توجه:
پوشه tmpl در پوشه mod_helloworld در ابتدای کار ایجاد نمودیم.

<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php echo $hello; ?>

___________________________________________________________________________

کد های زیر را برای فایل xml در پوشه mod_helloworld به نام mod_hellowoeld.xml ذخیره نمایید

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Hello, World!</name>
<author>John Doe</author>
<version>1.5.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>
<params>
</params>
</install>

_______________________________________________________________________

جهت امنیت ماژول کدهای زیر را برای ساخت فایل index.html در پوشه mod_helloworld استفاده نمایید

<html><body bgcolor="#FFFFFF"></body></html>

_______________________________________________________________________

حال پوشه mod_helloworld را به فرمت zip فشرده سازید
_______________________________________________________________________
سپس می توانید فایل فشرده را از مسیر
افرونه ها==> نصب/حذف
آپلود نمایید ...
آنچه مشاهده می شود نصب ماژول جدید به نام Hello, World! است که این نام در کدهای xml که ساخته ایم تعیین می شود.
 

mahamm1d

Member
سلام دوستان
خواستم تاپیک جدید باز کنم ولی دیدم شاید بشه همین تاپیک رو ادامه داد. (مدیران اگر صلاح میدانند جدا کنند)
تصمیم دارم سایتی برای یک آژانس مسافرتی طراحی کنم که شامل امکانات زیر باشه
کاربرای آژانس تورهای داخلی و خارجی را اضافه می کنند و بازدیدکننده که عضو شده می تواند تورهای را بصورت اینترنتی رزرو کند.
در صفحه درج تور مشخصات کلی تور و تاریخ های رفت و برگشت و هزینه و ... قرار دارد
در صفحه کاربر نیز براساس نوع تور (داخلی یا خارجی) سپس تاریخ رفت و برگشت را انتخاب کرده و در نهایت تعداد جای خالی در این تور را به همراه هزینه و .... نمایش داده می شود که می تواند آنرا رزرو کند

متخصصان عزیز می توانند مراحل طراحی این سایت را نام ببرند؟
برای امنیت بیشتر می خواهم روز جوملا کار کنم و این امکان را به آن اضافه کنم
آشنایی کمی با php , mysql دارم ولی ترتیب مراحل را نمیدانم و عملا نمیدانم از کجا باید شروع کنم
در دریم ویور صفحات php را تا حدودی پیاده کردم ولی چجوری روی جوملا بزارم؟چجوری کامپونتتش کنم؟ و هزارتا چجوری دیگه :)
منتظر نظرات شما عزیزان هستم
با تشکر
 

hesam_dj10

Active Member
فکر کنم که با "فرم ساز فابریک" بتونی انجامش بدی
البته من زیاد با این کامپوننت کار نکردم ولی فکر کنم بشه
 

tarenoco

Member
من فکر کنم نشه آخه Dreamviewer تو php یکم ضعیف هست میتونید از easyphp و wampserver h استفاده کنید که کد های ساخته شده رو به راحتی ببینید
در ضمن از کامپوننت K2 هم میتونید کمک بگیری که امکانات زیادی داره
 

جدیدترین ارسال ها

بالا