ماژول Entity View Mode، افزودن حالت های نمایش جدید به entity های دروپال

ماژول Entity View Mode، افزودن حالت های نمایش جدید به entity های دروپال

Entity در دروپال چیست؟

مفهوم Entity در دروپال 7 بسیار کلیدی و محوری است. قبلا در مقاله «مفهوم Entity، Bundle و Field در دروپال» بیان کردم که Entity یک مفهوم Abstract یا انتزاعی است که به پاره ای از اشیاء (object ها) در دروپال مانند کاربر (User)، محتوا (Content)، نظر (comment)، دسته ها (Taxonomy Term) و ... اطلاق می شود. و این Entity ها می توانند فیلد هایی را به خود ضمیمه کنند.

حالت های نمایش Entity ها در دروپال (View mode)

هر Entity می تواند به شکل های متعددی نمایش داده شود. عبارتی که برای این شکل ها یا حالات نمایش به کار می بریم، View Mode است. ساده ترین مواردی که برای نمایش یک محتوا (Node یا Content) در دروپال وجود دارد Teaser و Full Content است. اولی برای نمایش خلاصه ای از یک محتوا و دومی برای نمایش کامل محتوا استفاده می شود. اینها به صورت پیش فرض در دروپال وجود دارند. ولی با توجه به اینکه دروپال یک سیستم قابل توسعه است برای این موضوع نیز امکاناتی وجود دارد که برنامه نویس ماژول می تواند به View Mode ها اضافه کند. بنابراین می بینیم که ماژول های دیگر نیز به فراخور نیاز خود View Mode های جدیدی را به دروپال اضافه می کنند.

همانطور که بیان شد، هر محتوا یک Entity است و هر Entity می تواند حالات نمایشی متفاوتی داشته باشد.  برای محتوا می توانید این حالات نمایش را در صفحه مدیریت نمایش (Manage Display) آن نوع محتوا ببینید. در تصویر زیر این را می بینید. در زیر تب ها در سمت راست، دو تب فرعی Default و Teaser مشاهده می کنید. تب Default حالت پیش فرض نمایش را مشخص می کند. یعنی در صورتی که یک View Mode را فعال نکرده باشید و نمایش فیلد های آن را تعیین کرد باشید از حالت Default برای نمایش استفاده می شود. در تب teaser هم می توانید نحوه نمایش خلاصه محتوا را تغییر بدهید که مثلا چه فیلد هایی نمایش داده شود.

حالت های نمایش Entity ها در دروپال (View mode)

در صورتی که بخواهید View Mode های دیگری را فعال کنید در زیر فیلد ها در همان صفحه Manage Display، یک گروه از فیلد ها با عنوان Custom Display Settings قرار دارد. وقتی آن را باز می کنید، لیستی از View Mode های وجود برای آن entity را می بینید. و می توانید آنها را فعال کنید. پس از فعال شدن یک تب فرعی برای گزینه های فعال شده در صفحه Manage Display که نمونه آن را در تصویر بالا دیدید، مشاهده می کنید.

حالت های نمایش Entity ها در دروپال (View mode) 

دامنه استفاده از View Mode ها فقط به اینجا ختم نمی شود. یکی از بخش هایی که می توان از کاربرد View Mode در دروپال استفاده کرد، ماژول Views است. زمانی که شما یک View می سازید تا تعدادی Entity را نمایش بدهد. مثلا یک Viewکه محتوای سایت را نشان می دهد. می توانید تعیین کنید که در هر ردیف به جای نمایش فیلد ها، آن Entity یا محتوا را نمایش بدهد. و پس از آن از بین View Mode های موجود، مشخص می کنید که کدام View Mode برای تفسیر و نمایش محتوا یا Entity استفاده شود.

حالت های نمایش Entity ها در دروپال (View mode)

می بینید که برای محتوای سایت، گزینه های Search هم موجود است که می توانید نمایش محتوا در نتیجه جستجو را نیز با آنها سفارشی کنید.

افزودن View mode های جدید به دروپال

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

یک راه آن نوشتن یک ماژول و افزودن View Mode های جدید به دروپال از طریق برنامه نویسی است. ولی این کار برای افرادی که برنامه نویس نیستند ولی به این ویژگی نیاز دارند، مشکل است. در بین ماژول هایی که در جامعه دروپال تهیه شده است، یک ماژول چنین امکانی را از طریق مدیریت سایت ارائه می کند که با آن آشنا می شویم.

ماژول Entity View Mode

ماژول Entity View Mode چنین امکانی را ارائه می کند. می توانید به آسانی View Mode های جدید را از طریق فرم های مدیریتی در داخل سایت، ایجاد کنید و از آنها بهره ببرید.

نصب ماژول در دروپال

نصب این ماژول، مانند سایر ماژول های دروپال است. کافی است فایل فشرده این ماژول را از سایت دروپال دانلود کرده و محتویات آن را در فولدر ماژول های دروپال یعنی sites/all/modules کپی کنید. سپس به صفحه مدیریت ماژول ها در سایت دروپالی خود رفته و در گروه Other نام این ماژول Entity view modes را یافته و آن را فعال کنید.

کار با ماژول Entity View Mode

بعد از نصب این ماژول، به صفحه پیکربندی (Configuration) در سایت دروپالی خود بروید. در گروه سیستم لینک Entity view modes را بیابید و آن را کلیک کنید.

در داخل این صفحه Entity های مختلفی که در سایت دارد، مشخص شده اند. برای هر کدام از آنها View Mode هایی که دارند را نیز می بینید. و در زیر هر یک، لینکی به فرم افزودن View Mode جدید به آن Entity را مشاهده می کنید.

مثلا به گروه Node توجه کنید. در آنجا حالات مختلف نمایشی محتوای سایت نشان داده شده است. در تصویر زیر این موارد را می بینید:

View mode های مختلف ماژول Node در دروپال

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

 اگر بخواهیم برای محتوای سایت View mode جدیدی اضافه کنیم، کافی است روی لینک Add new view mode که در زیر این جدول قرار دارد کلیک کنیم تا به صفحه حاوی فرم زیر برسیم:

افزودن view mode جدید به دروپال با ماژول entity view mode

در این فرم باید یک نام برای این View mode تعریف کنید. همین طور می توانید تنظیمات اختیاری دیگری را برای آن در نظر بگیرید. مثلا مشخص کنید که این view mode برای چه نوع محتوا هایی استفاده شود.

درنهایت دکمه ذخیره را بزنید و نام view mode جدید را در لیست حالات نمایش Node ببینید. حالا وقتی به صفحه مدیریت نمایش فیلد های نوع محتوا های انتخاب شده می رویم، در زیر تب های مربوط به حالات نمایش، نام View mode جدید را نیز می بینیم. و روی آن کلیک می کنیم تا بتوانیم فیلد هایی که می خواهیم در آن نمایش داده شود و ترتیب آنها و تنظیمات آن را تغییر بدهیم.

نظرات

توضیحات خیلی واضح و کامل بودن. ممنون.

تصویر admin
ممنون پیام جان از اینکه نظر لطف خود را بیان کردید.

عالی بود، خیلی وقت بود نمی‌تونستم به دروپالیکا سر بزنم واقعاَ طراحی جدید سایت خوب و کاربردی شده، انشاالله همیشه پیروز و سربلند باشید.

تصویر admin
مجتبی خان، ممنون از اظهار لطف شما به سایت و بازدید مجدد شما

سلام وحید جان ممنون از مطالب خوبت

تصویر admin
خواهش می کنم ایمان جان. لطف دارید شما.

ارسال نظر