[phpNuke] آموزش ساخت ماژول قسمت اول و قسمت دوم ! ( پيشرفته )

NAVIDAHWAZ

Member
درسته آقا وحيد من در اطلاع اين مسئله هستم
شايد يكي از دلايلي كه تاپيك زدم به اين دليل بود كه مي خواستم اين تاپيك به صفحه اول انجمن آورده بشه و بقيه كاربرها هم از زحمت هاي آقا صادق بهره ببرند.

و اين تاپيك دوباره به فعاليت خودش ادامه بدهد
 

aghahamidgol2

Active Member
چه قدر این تاپیک باحال بود ... 5 صفحه بود فقط مطلب صفحه ی اول خوندن داشت ....
دمت گرم صادق خیلی باحال بود ولی منتظر بخش ادمین هستم ... دستم به دامنت مشکل اس کیو ال پلانتیوم را با پی اچ پی ما ادمین ما حل کن با هم مشکل دارن !!!
 
گفتم اين آموزش از همه مهم تره تا بقيه آموزش ها !

من فقط پايه و اساس كا رو مي گم . بقيه كار ها بر عهده خودتان !

براي ساخت ماژول شما 3 کار رو بايد قبل از شروع انجم بديد .
1 - چه ماژولي ميخواهيد بسازي ؟
2- آيا براي ساخت اين ماژول Admin لازم است ؟
3 - كشيدن فلوچارت آن روي كاغذ.

------------------------------------------------------------------
براي ساخت ماژول ما نياز به فايل هاي زير داريم .
index.php
copyright.php
پوشه Admin :
index.php
case.php
links.php

اينها فايل هاي اساسي ماژول مي باشند . بقيه فايل هاي اضافي كه در بعضي از ماژول ها مي بينيد . همون كد هاي اضافه داخل ماژول هست .

حالا شروع مي كنيم .

اول يك پوشه به نام ماژولي كه مي خواهيد به سازيد مثلا name در پوشه modules ناك اضافه مي كنيد .


سپس ميريم سر index.php :
كد پايه آن :
کد:
<?php

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
    die ("You can't access this file directly...");
}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));

$pagetitle = "- $module_name";

include("header.php");
$index = 1;
	OpenTable();

### NAME modules

echo"هرچي ميخواي بنويس !"
 ."";

    CloseTable();
include("footer.php");

?>

در واقع شما بايد بين دو تگ OpenTable(); و CloseTable(); كدهاي خودتو نو وارد كنيد .

اگر به كد هاي php تسلط داريد كه هيچي ! خودتون كد هايتان را همانطور كه گفتم بين اون دوتگ قرار دهيد .
اگرم نه فقط يك صفحه كه توش بعضي مطالب و ... باشه ! براي اين كار شما بايد در فرانت پيج
اون چيزي رو كه مي خواهيد درست كنيد بسازيد . مثلا يك كادري كه در آن چنديدن مطلب هست . بعد ميريد در قسمت code و از اونجا كد هاي بين دو تگ <body> و <body/> را كپي كرده و ميريد به ماژول ( ابزار نيوك ) براي تبديل html به php كه الحمدالله همه دارن اگرم روي ناكتون نصب نيست تو خيلي از سايت ها مثلا آفاق يا ايران نيوك اين سيستم در دسترس هست .
بعد شما بعد از تبديل فقط اون كد هاي بين :
کد:
<?php
#### Generated by Html to PHP converter By Disipal Site (www.disipal.net) ####
و
کد:
?>

رو يعني فقط مال خودتونو ! بر مي داريد و در جايي كه در بالا گفتم قرار مي دهيد .
بعد ذخيره مي كنيد .

حالا نوبت به فايل copyright.php مي رسه !
كافيه كد زير رو بريزيد تو فايل copyright.php و در جاهايي كه مشخص شده تغييرات رو بدهيد .
کد:
<?PHP
############
######  # modulesNAME for PHP-Nuke ported by monkeyMan
######  (May. 31, 2005) Version 1.0
######  Created by Marvin.P
######  http://YORSITE.com
############

$author_name = "Your MODULES";
$author_email = "[email protected]";
$author_homepage = "http://namesite.com";
$license = "GNU/GPL";
$download_location = "http://www.namesite.com/";
$module_version = "1.0";
$module_description = "xxxxxxxxxxxxxxxxxxxxxxx.";
function show_copyright()
    {
    global $author_name, $author_email, $author_homepage, $license, $download_location, $module_version, $module_description;
    if ($author_name == "") { $author_name = "N/A"; }
    if ($author_email == "") { $author_email = "N/A"; }
    if ($author_homepage == "") { $author_homepage = "N/A"; }
    if ($license == "") { $license = "N/A"; }
    if ($download_location == "") { $download_location = "N/A"; }
    if ($module_version == "") { $module_version = "N/A"; }
    if ($module_description == "") { $module_description = "N/A"; }
    $module_name = basename(dirname(__FILE__));
    $module_name = eregi_replace("_", " ", $module_name);
    echo "<html>\n"
	."<body bgcolor=\"#F6F6EB\" link=\"#363636\" alink=\"#363636\" vlink=\"#363636\">\n"
	."<title>$module_name: Copyright Information</title>\n"
	."<font size=\"2\" color=\"#363636\" face=\"Verdana, Helvetica\">\n"
	."<center><b>Module Copyright &copy; Information</b><br>"
	."$module_name module for <a href=\"http://phpnuke.org\" target=\"new\">PHP-Nuke</a><br><br></center>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>Module's Name:</b> $module_name<br>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>Module's Version:</b> $module_version<br>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>Module's Description:</b> $module_description<br>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>License:</b> $license<br>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>Author's Name:</b> $author_name<br>\n"
	."<img src=\"../../images/arrow.gif\" border=\"0\">&nbsp;<b>Author's Email:</b> $author_email<br><br>\n"
	."<center>[ <a href=\"http://YORSITE.com\" target=\"new\">Author's HomePage</a> | <a href=\"javascript:void(0)\" onClick=javascript:self.close()>Close</a> ]</center>\n"
	."</font>\n"
	."</body>\n"
	."</html>";
    }
show_copyright();
?>

حالا نوبت به ادمين ميرسه !
ساخت اين قسمت مشكله ! يعني نياز به دانش php هست .

آموزش ساخت قسمت admin رو بعد مي گم ! ( خسته شدم )



تا اينجا شما مي تونيد براحتي يك ماژول براي خودتون بسازيد .( البته بدون قسمت ادمين آن )

سلام دوست عزیز من در کاری گیر کرده هستم شما می توانی کمکم کنی

با این اید بیا بالا ممنون می شم
[email protected]
 

zanyar

Member
خيلي عالي بود صادق جان خيلي حال كردم .

جون من ادمين مهمترين كارشه بزار ما بريم پي كارمون .
 

far_2005

New Member
خوب طبق شواهد موجود صادق جان وقت نداره که این قسمتو ادامه بده:cry: برا همین ما این کار رو می کنیم:D
================================
شما در مرحله که ماژوول خود را ساختید در صورتی که می خواهید ادمین داشته باشه باید سه صفحه زیر که پایه و اساس ادمین هستند رو داشته باشید که در همان ماژول در پوشه ای به نام admin هستند
1.case.php
2.link.php
3.index.php
البته شما می تونید بیشتر هم صفحه داشته باشید که بستگی به ماژول شما داره
===============================================
کاربرد صفحات:
1.case.php
حامل آدرس فایل زبان ادمین شما ، قسمت های موجود در ماژول شما
کد خام آن به صورت زیر می باشد:
کد:
<?php

if ( !defined('ADMIN_FILE') ) {
	die("Illegal Admin File Access");
}

$module_name = "(نام ماژول شماباید با پوشه ایی که ماژول در آن هست یکی باشد)";
@include_once("modules/$module_name/admin/language/lang-".$currentlang.".php");(این خط برای حمل کردن فایل زبان شماست)


switch($op) {

    case "(در این قسمت شما باید قسمت هایی را که در ادمین شما هستند را بگذارید به گونه ای که برای هر قسمت باید یک خط مانند این بسازید)":

    @include("modules/$module_name/admin/index.php");(این کد هم صفحه ی اصلی ادمین را حمل می کنند.)
    break;

}

?>
قسمت بعدی فایل link.php است:
این قسمت نام و لینک ادمین شما در جدول مدیریت ماژول در ادمین را در خود دارد.
که کد خام آن به این صورت است
کد:
<php?
if ( !defined('ADMIN_FILE') ) {
	die("Illegal Admin File Access");
}

$platinum_loc = "../..";
$platinum_mod = "(نام ماژول شماباید با پوشه ایی که ماژول در آن هست یکی باشد)";
$platinum_url = "modules/$platinum_mod/images/admin";(آدرس پوشه ایی که عکس ادمین در آن قرار دارد)
$platinum_img = "$platinum_loc/$platinum_url/(name akse morede nazar shoma baraye admin module ke bayad ba format .gif bashad)";(in ghesmat ra bayd be  deghat dorost konid)

global $admin_file;
adminmenu("".$admin_file.".php?op=(name folder module)", ""(moteghyar esme admin dar file ee zaban)"", "$platinum_img");

?>
خوب تا الان اسم و عکس فایل ادمین در قسمت مدیریت اومده اما قسمت اصلیش مونده....
قسمت بعدی فایل index.php است.....
در واقع شما کله طراحی و نبوق خودتونو باید در این قسمت نشون بدید چون که قسمت سختش اینجاست.:-?
من نمی تونم براتون کد خام این قسمت بزارم چون که باید کلشو خودتون بنویسید اما من قسمت های مهمشو براتون میگم:
الف)اگر می خواهید وقتی که روی لینک ادمین تون کلیک کردید باز هم لینک ماژول های دیگه باشه باید بعد از اینکه اون کده دسترسی رو گذاشیتید این کد رو بذارید:
کد:
GraphicAdmin();
راستی الصاق کردن یا همون include اا هدر و فوتر هم که فراموش نمیشه :D
خوب در واقع میشه به عبارتی ساده تر اینجوری:
کد:
<?php
/********************************************************/
/* 					                				    */
/* Created by Farshid.M							        */
/*     Website:http://www.aryanhost.net                 */
/*  	E-mail:[email protected]		       	    */
/********************************************************/

include("header.php");
GraphicAdmin();
(ianja kar darid)

include("footer.php");


?>
خوب حالا شما باید برای اینکه بتونید نوشته داشته باشید باید تیبل بسازید نه نه ایست با اون تگ <table> اچتمل اشتباه نکنید
اینجا برای این کار دو تا متغیر ناز داریم :)
برای باز کردن تیبل
کد:
OpenTable();
برای بستن تیبل:
کد:
CloseTable();
:tavajo: به حروف بزرگ کوچک حساسیت داشته باشید به عبارتی بر ندارید هرچی دستتون اومد رو با حروف کوچیک بنویسید.آره قربونش

خوب حالا من یک چیزی می ذارم که شما ازش الحام بگیرید:cool:
کد:
<?php
include("header.php");
GraphicAdmin();
OpenTable();

CloseTable();
include("footer.php");
?>
خوب شما در اینجا یک ایندکس دارید که لینک بقیه ی ادمین ها هم توش هستن و یک تیبل داره و شما بارد در لای OpenTable();

CloseTable(); کله کد های خودتونو بزارید
ولسلام آهان تا یادم نرفته برای بعضی از کار ها به سلیقه خودتون شما باید یک متغیر رو بکشید بیرون اونم به وسله ی کد
کد:
global moteghayeri ke mikahiid ;
فقط بگم ها هر چیزی نمیشه
که انشاالله لیست اونم میره واسه ساله بعد تا من همشونو در بیارم
در ضمن برای اینکه بخواهید یک چیزی رو از دیتا بیس بخونید پا نشید برید کانکشن بنویسید فقط از کد زیر بهره ببرید


کد:
name query shoma = $db->sql_query(kari ke mikahhid ba DB bokonid);
در روز های آتی پیز های دیگر هم میگم
اگر دیدید بعضی جاها دیگه زیاد فارسی کردم دلگیر نشید اینم منظورم از تگش بود
حمل کردن حامل و ..... در اهمین مورد:include

کپی رایتم که خودمم و نظر هم فراموش نمیشه
سوال موال هم بود خوب بپرسید دیگه:)


آموزش بعدی:ساختن فایل زبان

قربان شما

فرشید.....
 
آخرین ویرایش:

S4DEGH

Well-Known Member
اي ول ..... من رو راحت كردي
i.gif
 

sajjadnajafi

New Member
2100000000000000000000000000000000000000000000 سال بعد
آموزش ساخت ماژول قسمت اول و قسمت دوم ! ( پيشرفته )
S4DEGH:از همه عزر میخوام ولی یک پروژه جدید بهم دادن تا 1000000000000 سال بعد بای:idea:
 

S4DEGH

Well-Known Member
سال بعد
آموزش ساخت ماژول قسمت اول و قسمت دوم ! ( پيشرفته )
S4DEGH:از همه عزر میخوام ولی یک پروژه جدید بهم دادن تا 1000000000000 سال بعد بای
عزيزم بخش دوم ماژول نويسي مربوط به مديريت هست و مديريت يعني ديتابيس و كدنويسي php . و جوري نيست كه بشه آموزش داد يه چند تا نكته فقط داره كه اون رو فرصت كنم توضيح ميدم .. بقيش ميره توي بلد بودن كدنويسي ! :)
 

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

بالا