معرفی پلاگین ها و رویدادها: تفاوت بین نسخه‌ها   

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو
(صفحه‌ای جدید حاوی «=مقدمه= پلاگین های [http://www.joomlafarsi.com جوملا] امکان اجرای یک قطعه کد را زمانیکه ...» ایجاد کرد)
(بدون تفاوت)

نسخهٔ ‏۳ اوت ۲۰۱۳، ساعت ۰۷:۲۰

مقدمه

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

انواع پلاگین ها

رویداد های وابسته به پلاگین های سیستم

1) onBeforeRender()
2) onAfterRender()
3) onAfterRoute()
4) onAfterDispatch()

این رویدادها در کلاس JAdministrator در فایل application.php قرار دارند از در مسیر

Joomla_Root\administrator\includes

در دسترس میباشند.

5) onAfterInitialise()

این رویداد در کلاس JAdministrator در فایل application.php قرار دارند از در مسیر

Joomla_Root\libraries\joomla\application

در دسترس میباشند.

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

1) onContentPrepare($context, &$item, &$params, $offset)
2) onContentAfterTitle($context, &$item, &$params, $offset)
3) onContentBeforeDisplay($context, &$item, &$params, $offset)
4) onContentAfterDisplay($context, &$item, &$params, $offset)

این رویدادها در کلاس ContentViewArticle در فایل view.html.php قرار دارند از در مسیر

Joomla_Root\components\com_content\views\article

در دسترس میباشند.
item$ = این یک اشاره گر به مطلبی است که در View ساخته میشود.
params$ = این یک اشاره گر به آرایه ای که است با پارامترهای مشخص شده توسط Viewدر ارتباط است.
offset$ = یک عدد از نوع integer است که مشخص کننده صفحه ای از مطلب تولید شده است.
context$ = یک متن مشخص است.

5) onContentPrepareForm($form, $data)
6) onContentPrepareData($context, $data)

این رویدادها در کلاس ContactModelContactدر فایل contact.php قرار دارند از در مسیر

Joomla_Root\components\com_contact\models

در دسترس میباشند.
form$ = یک شی JForm است که نمایش داده میشود.
data$ = یک شی شامل داده هایی برای فرم است.
context$ = یک متن مشخص است.

پلاگین های کاربری

1) onUserLogin($response, $options)
2) onUserLoginFailure($response)
3) onUserLogout($parameters, $options)
4) onUserLogoutFailure($parameters)

این رویدادها در کلاس JApplication در فایل application.php قرار دارند از در مسیر

Joomla_Root\libraries\joomla\application

در دسترس میباشند.

5) onUserBeforeSave($getproperties, $isNew, $properties)
6) onUserAfterSave($getproperties, $isNew, $result, $error)
7) onUserBeforeDelete($getproperties)
8) onUserAfterDelete($getproperties,$result, $error)

این رویدادها در کلاس JUser در فایل user.php قرار دارند از در مسیر

Joomla_Root\libraries\joomla\user

در دسترس میباشد.

پلاگین های اعتبارسنجی

1) onUserAuthorisation($response, $options)

این رویداد در کلاس JAuthentication در فایل authentication.php قرار دارد از در مسیر

JoomlaRoot\libraries\joomla\user

در دسترس می باشد.
response$ = شامل اطلاعات نام کاربری user ایکه اعتبار سنجی شده.
options$ = شامل لیستی از option ها.

2) onUserAuthorisationFailure($authorisation)

این رویداد در کلاس JApplication در فایل application.php قرار دارد از در مسیر

JoomlaRoot\libraries\joomla\application

در دسترس میباشد.

پلاگین ویرایشگر

1) onInit()
2) onSave($id)
3) onSetContent($id)
4) onCustomEditorButton (editors-xtd)
5) onDisplay($name, $content, $width, $height, $col, $row, $buttons = true, $id = null, $asset = null, $author = null, $params = array())
6) onGetContent($id)
7) onGetInsertMethod($name)

پلاگین جستجو

1) onContentSearch($keyword,$match,$ordering,$areas)
2) onContentSearchAreas()

این رویدادها در کلاس SearchModelSearch در فایل search.php قرار دارد از در مسیر

JoomlaRoot\components\com_search\models

در دسترس می باشند.

پلاگین تماس

این رویدادها هنگامیکه با فرم تماس (کامپوننت تماس) کار میکنید اجرا میشوند . این رویداد ها در کلاس ContactControllerContact و در فایل contact.php قرار دارد و از مسیرزیر در دسترس میباشند.

1) onSubmitContact(&$contact, &$data)

زمانیکه فرم اعتبار سنجی شد اجرا میشود

2)onValidateContact(&$contact, &$data)

جهت اعتبار سنجی مورد استفاده قرار میگیرد به عبارت دیگر رویدادهای بالا میتوانند برای اعتبار سنجی و captcha هم مورد استفاده قرار گیرند.
contact$ = شامل یک اشاره گر به کاربری که اطلاعاتی را در فرم تماس ارسال کرده.
data$ = شامل اشاره گر به متغیری که توسط متد POST دریافت میشود و به شکل زیر مورد استفاده قرار میگیرد. <source lang="php"> $data=JRequest::getVar('jform, array(), 'post','array'); </source>


جمع آوری شده توسط :شهاب مطاع پور

Indent support.png
هر گونه سوال و یا مشکلی در این رابطه دارید، می‌توانید در انجمن تخصصی تیم جوملا فارسی جستجو کرده و در صورت عدم دریافت نتیجه مورد نظر، سوال جدیدی را مطرح کنید.
8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.