نیما حبیب خدا

آموزش طراحی ماژول جوملا

18 پست در این موضوع

ارسال شده در (ویرایش شده)

در این آموزش قصد داریم تا یک ماژول بسیار ساده طراحی کنیم تا عبارتی که مایل هستیم را در موقعیت دلخواه ما چاپ کند

توجه : این یک آموزش بسیار بسیار ساده است و برای استفاده بهتر و آشنایی بیشتر با ماژول نویسی باید ماژول های معروف و حرفه ای و حتی نیمه حرفه ای ها را کامل بخوانید تا بتوانید یک ماژول بسیار زیبا و کاربردی طراحی کنید .

منبع : http://joomacademy.com/docs/joomla-module-learning.html

برای این آموزش ما به چهار فایل و یک فولدر نیاز داریم . پس مراحل زیر را انجام میدهیم :

1- یک فایل با نام : mod_salamdonya.php میسازید . فایلی دیگر در کنار فایل قبلی میسازید با نام : mod_salamdonya.xml . حال باید یک پوشه بسازیم با نام tmpl که داخل آن یک فایل به اسم : default.php میباشد ( و همینطور یک فایل به اسم index.html با کد رنگ سفید که نبودنش خیلی هم مهم نیست ) و در آخر هم یک فایل با نام helper.php در کنار دو فایل اول.

2- فایل mod_salamdonya.php را با ادیتور دریم ویور یا نت پد باز کنید و کدهای زیر را داخل آن بریزید :


<?php
/**
* Type your comments
*/

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

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

require(JModuleHelper::getLayoutPath('mod_salamdonya'));
?>

فایل را ذخیره میکنیم

3- پوشه default.php را باز کنید و کد های زیر را در آن بریزید :

<?php

echo ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> ';
echo' <div style="font-family:tahoma; direction:rtl; text-align:right;">';
echo $params->get( 'myword' ) ;
echo '</div> ';

?>

در خط اول ما دستور دادیم تا سیستم با فرمت utf-8 فایل ما را اجرا کند و در خط دوم به نوشته خود استایل دادیم .در خط سوم مکان چاپ نوشته خود را مشخص کردیم و در خط آخر دایو نوشته را بستیم .حال فایل را ذخیره میکنیم .

4- فایل helper.php را باز میکنیم و کدهای زیر را در آن میریزیم :

<?php
/**
* Type your comments.
*/

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

?>

فایل را ذخیره و به مرحله بعد میرویم

5- آخرین فایل یعنی mod_salamdonya.xml را باز میکنیم و کدهای زیر را میریزیم :

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>ماژول ساده</name>
<author>Joomacademy</author>
<copyright>Copyright (C) 2005 - 2010 Open Source Matters.Joomacademy.com All rights reserved.</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<authorUrl>http://joomacademy.com</authorUrl>
<version>1.0.0</version>
<description>توضیحات شما در فایل xml ماژول</description>

<files>
<filename module="mod_salamdonya">mod_salamdonya.php</filename>
<folder>tmpl</folder>
<filename>helper.php</filename>
<filename>mod_salamdonya.xml</filename>
</files>
<params>
<param name="myword" type="textarea" default="متن دلخواه خود را در این قسمت بنویسید " label="CONTTEXT" rows="10" cols="50" description="CONTTEXT DESC" />

</params>
</install>

خوب این فایل هم ذخیره کنید و سپس تمامی پوشه ها و فایل ها ( کل مجموعه را ) داخل یک پوشه به نام mod_salamdonya بریزید .. دقت کنید این یک فایل نیست و یک پوشه است که باید آن را زیپ کنیم و با همین نام فشرده کنیم . پس از فشرده کردن پوشه mod_salamdonya ، به مدیریت جوملا خود رفته و در قسمت نصب / حذف ، فایل زیپ را نصب میکنیم و به مدیریت ماژول میروید .

در سمت چپ میتوانید عبارت دلخواه را داخل کادر بنویسید تا دقیقا همان عبارت در موقعیت دلخواه چاپ شود . امیدواریم که از این آموزش استفاده کامل را بکنید .

ویرایش شده در توسط نیما حبیب خدا
تصحیح نام فایل

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

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

Share this post


Link to post
Share on other sites

نیما جان شما خیلی گلی 100 بار گفتم الانم می گم :4d564ad6: دستت دردنکنه :D

حالا فکر کنم زدی تو خط وردپرس سلام دنیا ! البته اون سلام جهانه ولی هم معنی هستن

Share this post


Link to post
Share on other sites

کلا در زمینه برنامه نویسی عبارت Hello World یک عبارت پایه است..در هر زبان برنامه نویسی اولین گام اینه که عبارت Hello World رو توی صفحه نمایش بدی!!

به همین دلیل و بخاطر سادگی این کلمه است که تمام برنامه نویسان برای یادگیری زبان برنامه نویسی دلخواهشون از عبارت Hello World استفاده میکنند... لذا این کلمه ارتباطی با وردپرس نداره

توضیحات کاملتر در ویکی پدیا هست البته به زبان انگلیسیه

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
کلا در زمینه برنامه نویسی عبارت Hello World یک عبارت پایه است..در هر زبان برنامه نویسی اولین گام اینه که عبارت Hello World رو توی صفحه نمایش بدی!!

به همین دلیل و بخاطر سادگی این کلمه است که تمام برنامه نویسان برای یادگیری زبان برنامه نویسی دلخواهشون از عبارت Hello World استفاده میکنند... لذا این کلمه ارتباطی با وردپرس نداره

توضیحات کاملتر در ویکی پدیا هست البته به زبان انگلیسیه

داداش ممنون از اطلاعات ، خودم هم از این اطلاعات باخبرم ، خواستم از نیما جان اطالعات بدست بیارم ببینم نزده رو خط وردپرس !!! :cool:

Share this post


Link to post
Share on other sites

دوستان این آموزش فقط چاپ hello world نیست .. توی این آموزش من خواستم یک آموزش هم در مورد پارامتر داشتن بذارم که بتونید پارامتر ها هم تنظیم و اجرا کنید . دلیل اینکه سلام دنیا گذاشتم برای این بود که در ابتدا خواستم سلام دنیا را چاپ کنه فقط. ولی وسط کار که داشتم xml رو مینوشتم تصمیم گرفتم پارامتری کنم که کمی کاملتر بشه . حرفه ای تر بودن در این کار بستگی به این داره چند درصد php و چه مقدار Joomla! API رو بلد باشید .

خوشحالم که راضی بودید .

ممنون از همه

Share this post


Link to post
Share on other sites

سلام

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

منتشر شاهکاراهای بعدی ت هم هستیم داداش.:35:

:auizz3ffy9vla57584x

Share this post


Link to post
Share on other sites

ممنون نیما جان از بابت آموزشی که گذاشتی . آقا آموزش ساخت کامپوننت هم بذاری دیگه میترکونی که من خیلی تو کف یه همچین آموزشی هستم . بازم مر30

Share this post


Link to post
Share on other sites

نیما جان ، اینجا منظورت چیه ؟

3- پوشه default.php را باز کنید و کد های زیر را در آن بریزید :

و

3- پوشه default.php را باز کنید و کد های زیر را در آن بریزید :

منظورت از پوشه همون فایل هست دیگه ؟

----------

میشه دقیقا بگی default.php رو داخل پوشه ای به نام tmp میسازیم ؟ چرا اسم فولدر چیز دیگه ای نباشه ؟

چرا باید در پوشه اصلی ماژول علاوه بر mod_salamdonya.xml (جهت نصب فایل ها ماژول) و mod_salamdonya.php (ساختمان اصلی ماژول) این فایل " helper.php " هم باشه ؟ در واقع این فایل helper چه کمکی و چه کارایی داره برامون ؟

Share this post


Link to post
Share on other sites

قسمت اول درست شد عزیزم.

باید اونجا باشه چون توی api جوملا تعریف شده که اگر زمانی این فایل وجود داشت و داخلش default.php بود این به عنوان قالب ماژول استفاده بشه . اگر هم نبود مشکلی نیست . ولی کمی کار کردن داخل ماژول سخت میشه . یعنی زمان کد زدن کمی مشکل پیش میاد . این که گفتم پیشفرض ماژول زدنه.

helper در این ماژولی که نوشتم کاربرد نداره . اما بودنش خوبه . بعضی از variable های php باید داخل helper باشه . مثلا زمانی که منو میسازید شما از این فایل استفاده میکنید تا جوملا بدونه اگر default.php اجرا شد ، چه فرمان هایی رو باید انجام بده . البته بعضی اوقات نقش قالب ماژول هم بازی میکنه

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

نیما جان آموزش ماژولی که تهیه کردی رو دانلود کردم.

تهشه ، حرف نداره.

بی صبرانه منتظره دومیش هستیم ------ هیچ جا نمی ریم همینجا هستیم.:35::35::35:

ویرایش شده در توسط hossien

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری