نصب ماژول

نصب ماژول


نحوه کار سیستم ماژول ها

دروپال از سیستم قلاب (Hook) استفاده می‌کند.

هنگامی که درخواستی به دروپال توسط کاربر فرستاده می‌شود (مثل مشاهده یک محتوا)، سیستم پس از Boostrap شدن که شامل مراحلی مثل بارگذاری تنظیمات، اتصال به پایگاه داده و … می‌شود،

در فرایند آماده‌سازی درخواست کاربر، داده‌های خود رو در اختیار هوک‌های ماژول‌ها می‌گذارد.

مثلا پس از خواندن فیلدهای یک مقاله از پایگاه داده؛ آن‌ها رو در یک آرایه قرار می‌دهد و هر ماژولی که هوک مربوط به نمایش محتوا رو تعریف کرده باشد، با آرایه تولید شده صدا می‌زند.

ماژولی که با هوک (قلاب) نمایش محتوا، خود رو به فرایند نمایش محتوا متصل کرده،

این اطلاعات رو دریافت می‌کند و می‌تواند فرایندهای خود رو از قبیل «اضافه کردن یک کلمه‌ی خاص به متن عنوان محتوا» رو اجرا کند.

هر ماژول می‌تواند در فرایندهای خود باز هوک‌هایی رو تعریف کند که دیگر ماژول‌ها فرایند پیش‌فرض ماژول رو تغییر دهند.

مثلا می‌تواند هوکی تعریف کند که بتوان کلمه‌ی اضافه شده رو تغییر داد و یا حذف کرد.

نام و مکان فایل ماژول

در این آموزش، ما یک ماژول ایجاد می کنیم که پیوندهایی به محتوا را نشان می دهد،

مانند نوشته های وبلاگ یا بحث های انجمن، این صفحه نحوه ایجاد فایل و دایرکتوری ماژول اولیه را توضیح می دهد.

قبل از شروع ما نیاز داریم که اشتباهات خود را درسایت شناسایی کنیم برای اینکار ما نیاز داریم که تمامی خطا های خود را در سایت مشاهده کنیم برای اینکار کافی است این چند خط کد را به فایل setting.php  خود اضافه کنیم

error_reporting(E_ALL);

ini_set(‘display_errors’, TRUE);

ini_set(‘display_startup_errors’, TRUE);

وبعد به قسمت مدیریت/ پیکربندی /توسعه /سوابق و خطاها برویم و مطمئن شویم که نمایش خطاها روی کلیه پیغام ها باشد.

انتخاب نام ماژول

اولین گام در ایجاد یک ماژول، انتخاب “نام کوتاه” برای آن است.

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

باید با یک حرف شروع شود و تنها حروف کوچک و underscores را شامل شود. برای این مثال، ما “bishweb ” را به عنوان نام کوتاه انتخاب می کنیم.

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

هنگامی که دروپال قلاب(Hook) را پیاده سازی می کنید (در بخش های بعد آموزش توضیح داده می شود)،

دروپال تنها توابع پیاده سازی قلاب را تشخیص می دهد

اگر آنها همان پیشوند نام تابع را به عنوان نام فایل ماژول داشته باشند.

به وجود آوردن پوشه وفایل ماژول

  1. ساخت ماژول با ایجاد یک پوشه در مسیر نصب دروپال :

ساخت پوشه در مسیر site/all/module نام پوشه خود را bishweb می گزاریم.

  1. به وجود آوردن فایل .info در پوشه مربوط به ماژول

ذخیره میکنیم فایل bishweb.info  در پوشه ماژول در مسیر

Site/all/module/bishweb

حداقل این فایل باید شامل موارد زیر باشد .

name = bishweb sitedescription = Description of what this module doescore = 7.x

name   نام ماژول ، description توضیحاتی درباره ماژول و core ورژن دروپالی که برای آن این ماژول نوشته شده است.این سه مورد برای تعریف یک ماژول الزامی می باشد.

  1. به وجود آوردن فایل php برای ماژول

ذخیره میکنیم فایل bishweb.module  در پوشه ماژول در مسیر

Site/all/module/bishweb این فایل محتوی کدهای php  ما خواهد بود.

  1. یک تگ php باز را به ماژول اضافه می کنیم.

<?php

باید توجه کنیم که فایل .module همیشه با تگ PHP به صورت کامل شروع می‌شود اما به علت وجود باگی در PHP، هیچ‌گاه با تگ پایانی تمام نمیشود،

  1. استانداردهای کد نویسی

نکته: استانداردهای کدنویسی دروپال برای کدهای هسته دروپال و ماژولهای آن اعمال می شود.

این استانداردها بر پایه استانداردهای کدگذاری PEAR مبتنی است. که آدرس آن در زیر آمده است.

http://pear.php.net/manual/en/standards.naming.php

یک نکته کل: نظرات و اسامی باید از املای انگلیسی (به عنوان مثال “color” و “colour”) استفاده نکنند.

استانداردهای کد نویسی دروپال مستقل از نسخه دروپال هستند و همیشه در جریان هستند. همه کدهای جدید باید بدون توجه به نسخه (core) استاندارد های فعلی را دنبال کنند.

کد موجود در نسخه های قدیمی تر ممکن است به روز شود، اما لزوما نباید باشد.

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

دروپال در نوشتن کدها هم سختگیری‌های خاصی دارد و یک ماژول قبل از راه‌یابی به سایت دروپال باید از استانداردهای کدنویسی تبعیت کند

 در غیر این صورت مدیریت این حجم کد برای خطایابی،

تصحیح و نوشتن کد جدید بر مبنای کدهای قبلی و همچنین آموزش کدنویسان جدید تقریبا غیر ممکن می‌شد.

برای مثال طول هرخط از کد نباید بیش از ۸۰ حرف باشد (تا حد امکان) و یا آیتم‌های آرایه‌هایی که در چند خط تعریف می‌شوند، همیشه با علامت , پایان میابند. شما می توانید از محیط‌های توسعه مثل

 Eclipse(link is external) یا NetBeans(link is external)  یا

 vim (link is external)

استفاده کنید راهنمای تنظیم اون‌ها بر اساس این استانداردها در دروپال موجود است همچنین میتوانید از aptana  و phpstorm  نیز استفاده کنید.

توضیحات فایل .info  ماژول دروپال

دروپال از فایل های  .info  برای ذخیرهmeta date  در مورد تم ها و ماژول ها استفاده می کند.

برای ماژول ها، فایل .info برای موارد زیر استفاده می شود:

  • ارائه اطلاعات در صفحات مدیریت دروپال وب GUI؛
  • ارائه معیارهای کنترل فعال شدن و غیرفعال کردن ماژول؛
  • اعلان دروپال در مورد وجود یک ماژول؛
  • مشخص کردن وابستگی ماژول به سایر ماژول های دروپال
  • اهداف کلی عمومی در زمینه های دیگر.

محتویات این فایل به این شکل است:

name = bishwebdescription = this is a test module and does nothingcore = 7.xpackage = My Modulesphp = 5.2version = 7.x-1.xdependencies[] = viewsfiles[] = bishweb.class.inc;configure = admin/bishweb

Name، description ، core  را قبلا توضیح داده ایم تعیین‌کننده این سه مورد برای تعریف یک ماژول الزامیست.

با package می‌توان مشخص کرد در صفحه‌ی admin/modules ماژول نوشته شده در کدام بخش قرار گیرد که در صورت ذکر نشدن آن، به صورت پیش‌فرض Other خواهد بود.

php تعیین کننده‌ی حداقل ورژن قابل قبول PHP برای اجرای ماژول است و version، ورژن ماژول رو تعیین می‌کند.

البته توجه کنید که تعیین ورژن توسط سیستم packaging در drupal.org  صورت می‌گیرد

و به هنگام ارسال ماژول به drupal.org، باید آن را حذف کنید.

dependencies که به فرم یک آرایه نوشته می‌شود تعیین کننده‌ی ماژول‌هایست که برای فعال شدن ماژول نوشته شده باید موجود و قابل فعال شدن باشند. درصورتی که از Drush  برای فعال‌سازی استفاده شود،‌

همه‌ی dependency ها به صورت خودکار دانلود و فعال خواهند شد.

 برای نام بردن هر ماژول dependency نام اون رو در یک خط جداگانه قرار می‌دهیم به این صورت:

dependencies[] = viewsdependencie[] = date

بخش files که اعلان آن مشابه dependencies است برای تعیین فایل‌های مربوط به ماژول است.

برای مثال فایل‌های CSS، جاوااسکریپت، پلاگین‌های ماژول views و غیره می باشد.

در بخش بعد درباره هوک ها صحبت خواهیم کرد.

با ما همراه باشید

آموزش دروپال

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *