ساختار عمومی آن به این صورت است:
name = Module name description = A description of what your module does. core = 6.x |
برای این مثال؛ نام فایل " onthisdate.info" میباشد. بدون این فایل ماژول در لیست ماژول های دروپال دیده نخواهد شد. برای این مثال فایل محتوای زیر را دارد:
name = On this date description = A block module that lists links to content created one week ago. core = 6.x |
کد فوق را در فایلی با نام " onthisdate.info" قرار دهید و شاخه ماژول یعنی " sites/all/modules/onthisdate" قرار دهید.
نکته: اگر این کد را از اینجا در فایل خود کپی میکنید مطمئن شوید که کد منتقل شده حاوی کاراکتر خط شکسته نباشد. برای اطمینان گزینه خط شکسته (word-wrap) را در ویرایشگر خود غیرفعال کنید. در غیر این صورت فایل .info به درستی تفسیر نمیشود.
جزئیات فایل info
name (الزامی)
نام نمایشی ماژول. این نام باید از استاندارد حروف بزرگ طبعیت کند. یعنی: فقط اولین حرف از اولین کلمه بزرگ باشد ("Example module"، نه "Example Module" و نه "example Module").
name = On this date |
یک توضیح مفید و کوتاه یک خطی برای آگاه سازی مدیر سایت از کاربرد ماژول. حداکثر 255 کاراکتر.
description = A block module that lists links to content such as blog entries or forum discussions that were created one week ago. |
نکته اینکه حروف اختصاصی در این توضیح باید با متغییرهای HTML جایگذین شوند. برای مثال:
description = This is my "crazy@email.com" email address instead of description = This is my "crazy@email.com" email address |
description = "Please don't use this unless you know what you are doing." |
در نسخه 6، ماژولهایی که به صراحت برای این نسخه از هسته نوشته نشده باشند رد میشوند. فایل .info باید مشخص کند که این ماژول یا قالب برای چه نسخه ای از هسته دروپال نوشته شده است. به این صورت:
core = 6.x |
چند گزینه اختیاری نیز در فایل info موجود است که، یکی از آنها وابستگی های ماژول است. اگر یک ماژول نیاز به فعال بودن سایر ماژولها دارد همه ماژولهای لازم را به صورت زیر لیست میکنیم:
dependencies[] = taxonomy dependencies[] = comment |
برای ماژول مثال ما، این گزینه استفاده نمیشود. اگر ماژولهای وابسته برای یک ماژول تعریف شوند دروپال نمیتواند آن ماژول را فعال کند مگر اینکه ماژولهای وابسته موجود باشند.
package (اختیاری)
اگر برای یک ماژول package تعریف شده باشد در لیست ماژولها همه ماژولهایی که با آن package تعریف شده باشند در یک دسته بندی نمایش داده میشوند.
اگر دسته بندی تعریف نشده باشد آن ماژول در دسته بندی "other" قرار میگیرد. اگر در انتخاب دسته بندی شک دارید آن را خالی رها کنید.
package = "Your arbitrary grouping string" |
- Audio - Bot - CCK - Chat - E-Commerce - Event - Feed Parser - Organic groups - Station - Video - Views - Voting |
هوک help
اضافه بر موارد فوق؛ ما میتوانیم راهنما و اطلاعات اضافه در مورد ماژولمان را با پیاده سازی hook_help() پیاده سازی کنیم.
برای پیاده سازی هر هوک در دروپال، واژه "hook" را در نام هوک با نام ماژولتان جایگذین کنید و یک تابع در فایل .module با این نام بسازید. در مثال ما؛ برای پیاده سازی hook_help() ما تابعی با نام onthisdate_help() در فایل onthisdate.module میسازیم.
<?php function onthisdate_help($path, $arg) { } ?> |
<?php function onthisdate_help($path, $arg) { $output = ''; //declare your output variable switch ($path) { case "admin/help#onthisdate": $output = '<p>'. t("Displays links to nodes created on this date") .'</p>'; break; } return $output; } ?> |
کد admin/help#modulename برای پیوند از صفحه اصلی راهنمای دروپال استفاده میشود (admin/help or ?q=admin/help). میتوانید به کد فوق متن بیشتری برای بهبود راهنمایی کاربر اضافه کنید.
نظرات