نصب ماژول

نصب ماژول


ماژول نویسی دروپال قسمت نهم

محتوا در دروپال

معرفی انواع محتوا در دروپال :تاکنون تنها با متغیر های پایدار کار کرده ایم درحالی که متغیرهای پایدار برای ذخیره سازی تنظیمات مفید هستند اما آنها دامنه بسیار محدودی دارند

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

سلسله مراتب محتوا در دروپال :

  • گره (node)
  • نوع محتوا (content type)
  • فیلد (fields)

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

محتوا در دروپال

محتوا در دروپال

هسته دروپال به طور پیش فرض دارای دونوع محتوا است

  1. Article : این نوع محتوا معمولا برای اطلاعاتی است که غالبا نیاز به به روز رسانی و سازمان دهی دارند.
  2. Basic page: معمولا برای محتواهای استاتیک استفاده میشود.

انواع دیگر محتوا که با هسته دروپال همراه هستند مانند نوشته ها بلاگ و فرم ها برای بحث و نظر سنجی همچنین ما می توانیم در دروپال برای اضافه کردن محتوا به ساختار/ انواع محتوا/افزودن نوع محتوا/نام را اضافه میکنیم /افزودن انواع فیلدها برویم و محتوا مورد نظر خودرا وارد کنیم.

/structure/types/add برای افزودن فیلد ما باید نوع فیلد خود را متناسب با نیاز خود اضافه کنیم مثلا اگر نوع فیلد ما باید تصویری باشد نوع آن را image  می گذاریم.

دراین عملکرد ما یک عملکرد سفارشی را ارائه نمی دهیم.مانند رویدادها در triggers

یک مدیر سایت میتواند هر نوع محتوایی را که نیاز دارد به وجود آورد با استفاده از ماژولی مانند features اما ما به عنوان یک طراح باید بتوانیم با استفاده از نوع محتوا کار خود را انجام دهیم مکانیزمی برای ورود و ویرایش انواع داده برای محتوای خود در نظر بگیریم.اعتبار سنجی،رندر کردن،پایداری آسان و انجام خیلی از کارهای دیگر.علاوه براین نوع محتوا ما با ماژول های مشارکتی مانند views,feed سازگار باشد
با ایجاد محتوا به وسیله کد نویسی ویژگی های سایت یا ماژول ما قابل کنترل تر خواهد بود

انواع محتوایی که در ماژول خود windfarms نیاز داریم.

  1. نام مناسب
  2. توضیحات
  3. تعداد واحد در این ماژول
  4. wind turbine manufacturer
  5. طول جغرافیایی
  6. عرض جغرافیایی

در ابتدا برخی ازگرههای (node) مورد استفاده در ماژول را ایجاد میکنیم و بعد با استفاده ازیک جدول موجود برای جمع آوری پایگاه داده کار را کامل میکنیم شروع میکنیم.

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

 

//content type definition
$content_type=array(
‘type’=>‘windfarm’,
‘name’=>$t(‘windfarm’),
‘description’=> $t(‘A wind farm,including location’),
‘title_lable’=>$t(‘Facility Name’),
‘base’=>‘node_content’,
‘custom’=>TRUE,
);
//set remaining definitions with defaults.
$node_type=node_type_set_defaults($content_type);
//save the content type
node_type_save($node_type);

توضیح کد:

متغیر content_type برای ذخیره کردن نوع محتوامون از اون استفاده میکنیم و برابر با یک آرایه انجمنی می گزاریم.

Type  همان نام ماشینی ماست باید از حروف کوچک استفاده کنیم.

name نام قابل خواندن برای محتوامون است دراینجا از تابع t() برای ترجمه استفاده میکنیم.

Description توضیحاتی درباره نوع محتوایی که ایجاد میکنیم می نویسیم

Title_lable برچسب محتوا ما است عنوان صفحه ما است و در صفحه ویرایش نمایش داده می شود.

Base نوع محتوای پایه ای که برای ساختن نوع محتوای جدید استفاده می شود.ما در این جا قصد داریم که از node_content ها استفاده کنیم چون قصد داریم گره (node)ایجاد کنیم البته نوع دیگری از رشته base  هم وجود دارد که برای ساخت  callback  هایی مربوط به نوع گره استفاده می شود که معمولا base را برابر با نام ماژول میزاریم که البته الزامی نیست که حتما برابر با نام ماژول باشد.

Custom :

تعیین میکند که آیا نوع محتوا ما یک نوع محتوای سفارشی است یا خیر.

البته رشته های دیگری هم وجود دارد مانند.

Modified :

آیا نوع محتوا اصلاح شده بود که ما در اینجا چون فقط نوع محتوامون را ایجاد میکنیم مقدار آن را باید ۱ بزاریم و همچنین مقدار پیش فرض آن هم ۱ است پس نیازی به نوشتن آن در پروژمون نداریم.

Locked :

بتوان محتوا رو تغییر داد یانه مقدار پیش فرض  ۱ است یعنی می تواند تغییر کند.

قدم بعدی ذخیره کردن نوع محتوامون هست

دروپال یک تابع ارائه می دهد که از طریق تنظیمات کار خود را انجام می دهد و تنها مواردی را که از دست رفته است تنظیم می کند و از آن برای تکمیل تعریف نوع محتوا برای گره استفاده می شود.

مثل modified و locked را که تعریف نکردیم رو برابر با مقدار پیش فرض میگذارد و همچنین نوع محتوامون رو تشخیص میدهد.

$node_type=node_type_set_defaults($content_type); پارامتر نوع محتوا را میگیرد.

حالا که ساختار پایه مون کامل شده نیاز داریم که نوع محتوامون رو ذخیره کنیم و این کار رو با استفاده از تابع node_type_save انجام میدهیم که ساختار آرایه رو که به عنوان پارامتر ذخیره کردیم میگیرد نوع محتوا ذخیره می شود.

در مقاله های بعدی درباره حذف نوع محتوا و هرچیز که به آن مربوط است صحبت میکنیم واگر فایل رو ذخیره کنید و ماژول رو عزل و دوباره نصب کنید. محتوا windfarm رو میبینید ولی فعلا ما فقط یک فیلد قابل ویرایش داریم در مقاله بعدی اضافه کردن فیلدهای سفارشی را آموزش می دهیم.

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

 

آموزش دروپال

محتوای دروپال

امکان ارسال نظر وجود ندارد!