آموزش نوشتن پلاگین برای E107 قسمت اول
کد:
سلام .
گفتم شاید بد نباشه که توضیحاتی در باری نحوه نئشتن یک پلاگین بنویسم .
اولین چیزی که شما باید بونید چارت و نحه کار کرد یک پلاگین است . مانند شکل زیر :
e107_plugins (dir)
|
+--myplugin (dir)
| |
| +--images (dir)
| | +-- icon_16.png
| | +-- icon_32.png
| |
| +--languages (dir)
| | +-- myplugin_English.php
| |
| +--plugin.php
| +--admin_menu.php
| +--admin_config.php
| +--admin_readme.php
| +--help.php
| +--myplugin.php
| +--myplugin_menu.php
مهم ترین بخش هر پلاگین فایل PLUGIN.PHP هست که در حقیقت نصب / عزل پلاگین شما به عهده این فایل است و به عبارتی کلیه مشخصات پلاگین اینجا قرار داره :
در این فایل شما با این متغیر ها و توابع سر و کار دارید :
متغیر ها :
نام پلاگین شما در این متغیر قرار میگیرد .
$eplug_name
ورژن پلاگین شما در این متغیر قرار میگیرد .
$eplug_version
نام نویسنده پلاگین
$eplug_author
فولدری که قرار است فایل های پلاگین در آن باشد .
$eplug_folder
آدرس فایل آیکون شما برای پلاگین که میتواند در فرمت های GIF , PNG , JPG و ... باشد | برای SMALL سایز عکس 16x16 و برای ICON سایز 32x32 باشد .
$eplug_icon/$eplug_icon_small
نکته : در ورژن 7 به بالا نام این متغیر به $eplug_logo تغییر پیدا کرده است .
آدرس سایت شما
$eplug_url
آدرس پست الکترونیکی شما
$eplug_email
توضیحاتی در باره پلاگین شما .
$eplug_description
سازگاری پلاگین شما با کدام ورژن از E107
$eplug_compatible
آدرس فایل Readme پلاگین شما در این متغیر قرار میگیرد .
$eplug_readme
این پلاگین با مقادری TRUE یا FALSE پر میشود و نشانگر استفاده شما از XML یا AJAX در پلاگین است .
$eplug_compliant
نام از پیش فرض منویی که پلاگین شما در هنگام نصب در منوی سایت میسازد .
$eplug_menu_name
آدرس صفحه اعمال تنضیمات اصلی پلاگین (اگر کاربر بر روی آیکون پلاگین در قسمت مدیریت پلاگین کلیک کند به این صفحه ارجاع میابد)
$eplug_conffile
عنوان صفحه تنظیمات مدیریت پلاگین
$eplug_caption
مقادی TRUE یا FALSE در این متغیر مشخص میکند که پلاگین شما در منوی اصلی سایت لینک جدید مربوط به خود را اضافه کند یا خیر .
$eplug_link
نام لینکی که پلاگین شما به منوی اصلی اضافه میکند .
$eplug_link_name
آدرس صفحه اصلی پلاگین شما (این آدرس به نام لینک نصبت داده میشود)
$eplug_link_url
با دادن مقادیری چون Guest, Member, Admin, Everyone مشخص میکنید که چه کسانی اجازه دیدن این لینک را دارند .
$eplug_link_perms
پیام تایید نصب پلاگین در این متغیر نوشته میشود .
$eplug_done
در صورتی که برای پلاگین خود UPGRADE نوشته باشید در این متغیر پیام تایید به روز رسانی قرار میگیرد .
$eplug_upgrade_done
اگر پلاگین شما به مقادیر از پیش تایین شده نیاز داشته باشد در این متغیر آن ها را مینویسید | مانند مثال زیر :
$eplug_prefs
$eplug_prefs = array(
"myplugin_max_items" => "20",
"myplugin_visibility" => "0"
);
مقادیر پیش فرض متغیر PREF را در این متغیر مینویسید | در مورد PREF بعدا توضیح میدهم .
$eplug_array_pref
در صورتی که پلاگین شما نیاز به ساخت TABLE در دیتا بیس داشته باشد از متغیر های زیر استفاده میشود .
نام TABLE هایی که قرار است برای پلاگین ساخته شود . برای تعریف نان TABLE ها از ARRAY استفاده کنید .
$eplug_table_names
بسته به تعداد TABLE ها در یک ARRAY کواری ساخت تیبل ها را بنویسید . که در زیر مثال آن را مینویسم .
$eplug_tables
$eplug_table_names = array("myplugin_table1");
$eplug_tables = array(
"CREATE TABLE ".MPREFIX."myplugin_table1 (
id int(11) NOT NULL auto_increment,
title varchar(50) NOT NULL default '',
full_name text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;",
"INSERT INTO ".MPREFIX."myplugin_table1 VALUES (1, 'Mr','Plugin Programmer');",
);
در صورت نیاز به به روز رسانی تیبل ه از این متغیر استفاده کنید .
$upgrade_alter_tables
مثال :
$upgrade_alter_tables = "array(
ALTER TABLE ".MPREFIX."myplugin_table1 ADD approve char(1)
NOT NULL default '' AFTER id"
)";
توابع :
در صورت نیاز به تعریف نصب شدن پلاگین از این تابع استفاده میشود .
myplugin_install()
در صورت نیاز به تعریف به روز رسانی شدن پلاگین از این تابع استفاده میشود .
myplugin_upgrade()
در صورت نیاز به تعریف پاک شدن پلاگین از این تابع استفاده میشود .
myplugin_uninstall()
معمولا از سه تابع بالا زیاد استفاده نمیشود مگر آنکه عدم استفاده از آنها در کار پلاگین و یا نصب آنها اختلال ایجاد کند .
در بخش بعدی که به زودی مینویسم طریقه ساخت صفحات را توضیح میدم . در این بخش تنها به متغیر ها و توابعی که برای نصب و پیکر بندی پلاگین لازم است در اختیار داشته باشیم اشاره شد .
نکته : لازم نیست که حتما از تمام متغیر ها برای تعریف پلاگین در PLUGIN.PHP استفاده شود .
امیدوارم که استفاده برده باشید . بای