آموزش دروپال - قسمت سوم - ایجاد فرم دلخواه

توسط amin, 24 بهمن, 1391

سلام

اگر تا این جا با من همراه بوده باشید متوجه شده اید که دروپال چیست ؟ و چرا از آن استفاده می کنیم.همچنین نحوه ایجاد یک سایت با دروپال ( نسخه 7) و روش افزودن زبان فارسی را به آن دنبال یادگرفته اید.

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

جهت ایجاد مطالب در نسخه اصلی دروپال دو نوع محتوا (Content Type) در نظر گرفته شده است. یکی نوع صفحه پایه (Basic Page) و دیگری مقاله (Article) که البته این نوع ها مربوط به نسخه 7 هستند و همینطور که قبلا ذکر شد اساس این آموزش ها بر اساس نسخه 7 دروپال که در حال حاضر پایدارترین و پرکاربردترین نسخه می باشد تنظیم شده است.

جهت ایجاد یک مطلب از منوی مدیریت بالای صفحه روی گزینه محتوا کلیک کرده و در صفحه بازشده شما می توانید لیست تمامی محتواهای سایت خود را (که هم اکنون محتوایی ندارد) مشاهده کنید:

جهت اضافه کردن مطلب جدید روی لینک افزودن محتوا کلیک کرده و در صفحه بازشده روی گزینه مقاله (Article) کلیک کنید. در این جا شما می توانید یک مطلب جدید از نوع مقاله به سایت خود اضافه کنید. همانطور که مشاهده می کنید نوع محتوای مقاله از فیلدهایی (Fields) از قبیل عنوان ، تگ ها ، بدنه ، تصویرتشکیل شده است و در پایین صفحه نیز چندین مورد مرتبط با مدیریت این نوع محتوا آمده است که بعدا آن ها را توضیح می دهم.

همین حالا یک تست بکنید و یک عنوان مثلا "سلام" و تگ های "آموزش دروپال ، سایت امواج دروپال " و بدنه " من به یادگیری دروپال خیلی علاقه دارم" را وارد کنید و یک عکس هم آپلود کرده و دکمه ذخیره را در انتهای صفحه بفشارید:

تبریک می گویم شما اولین مطلب خود را ایجاد کردید.حالا اگر دوباره به منوی محتوا که لینک آن در منوی مدیریت بالای صفحه وجود دارد مراجعه نمایید می توانید ببینید که مقاله "سلام" را جهت ویرایش و یا حذف نمایش می دهد.

همان طور که تجربه کردید ایجاد یک مطلب بسیار ساده است و حالا چرا ما نیاز به ایجاد فرم دلخواه داریم. فرض کنید که شما یک قسمت اخبار فناوری اطلاعات در وب سایت خود دارید و می خواهید جالب ترین خبرهای این حوزه را از سایت هایی که مد نظر دارید در آن قرار دهید(البته با رعایت اصول کپی رایت:) . اما هر خبر از فیلدهای مختلفی تشکیل شده از جمله روتیتر یا لید (Lead) و عنوان خبر و همچنین خلاصه خبر و متن اصلی خبر و تصویر خبر . اگر بخواهیم از همین نوع مقاله برای خبر استفاده کنیم کار ما به دو دلیل سخت است:

اول این که فیلدهای روتیتر و خلاصه خبر را چه کنیم که نوع مقاله به صورت پیش فرض آن ها را ندارد.

 حالا فرض کنید که خبر ما نه خلاصه خبر می خواهد و نه روتیتر . دو یا سه تا خبر با همین نوع مقاله ساختیم و حالا می خواهیم در یک صفحه جداگانه این اخبار را نمایش دهیم.شما بگویید چه فرقی میان مثلا یک مطلب مقاله  با موضوع آموزش پوست کندن گردو با دستکش و خبر بیرون آمدن نسخه 8 دروپال وجود دارد. تنها فرق آن ها در متن آن هاست که کامپیوتر و سرور قادر به تشخیص نیستند. پس باید نوع این دو محتوا که از نظر مفهوم کاملا با هم فرق دارند از هم جدا باشندو باید یک نوع جدید برای اخبار داشته باشیم. یک جورایی میشه گفت برای کسایی که با دیتابیس آشنایی دارند بهتر است که یک جدول جداگانه برای این نوع داشته باشیم.(البته توی یک جدول هم می شود ولی دردسر بیشتری دارد!).

حالا که فهمیدیم برای چه نیاز به نوع جدید داریم روی لینک ساختار از منوی مدیریت بالای صفحه کلیک کرده و در صفحه بازشده انواع محتوا را کلیک و "افزودن نوع محتوا" را برمی گزینیم:

حالا در صفحه بازشده باید ویژگی های این نوع جدید را مشخص کنیم. اولین ویژگی نام است که بهتر است انگلیسی انتخاب کنیم.مثلا این جا "news" می گذاریم.همان طور که می بینید در هنگام تایپ نام ، به صورت اتوماتیک نام ماشینی این نوع محتوا برای ذخیره شدن در پایگاه داده ایجاد می شود که ویژگی خوبی است که در نسخه 7 دروپال اضافه شده است.

توصیه می کنم حتما توضیحات را هم هر چند درحد چند کلمه بنویسید که در آینده راحت تر خواهید بود. مثلا" از این نوع محتوا جهت ایجاد خبرهای جدید سایت استفاده خواهد شد" یا " جهت ایجاد نوع محتوای خبراستفاده می شود".

قسمت بعدی فیلد عنوان است. هر نود یا همان گره یا همان محتوا در دروپال یک عنوان منحصر به فرد دارد که باید حتما ایجاد شود.در این جا شما می توانید برچسب (Label) این فیلد را عوض کنید. مثلا بگذاریم " عنوان خبر" . یا اگر نوع محتوا جهت ورود اطلاعات دانش آموزان یک مدرسه است بگذاریم نام و نام خانوادگی. تشخیص این که کدام یک از قسمت های محتوا به عنوان فیلد اصلی "عنوان" انتخاب شود بستگی به سلیقه شما و نوع کاربرد آن دارد و بنابرتجربه در اکثر مواقع درست تشخیص خواهید داد.

قسمت بعدی با عنوان "Preview before Submitting" به این جهت استفاده می شود که پس از ایجاد مطلب قبل از اینکه برروی سایت به صورت رسمی قرار بگیرد یک نسخه از آن را به شما نمایش دهد که شما مطمئن شوید اندازه فونت ها و رنگ آن ها و .... به درستی اعمال می شود و سپس مطلب را جهت نمایش روی سایت ذخیره کنید که می توانید در این جا این ویژگی را فعال یا غیر فعال کنید.

گزینه های انتشار را انتخاب کنید که در لیستی که جلوی آن باز می شود موارد مختلفی وجود دارد که به توضیح آن ها می پردازم:

گزینه های پیش فرض:

  1. منتشرشده: تیک خوردن این گزینه یعنی این که تمامی انواع محتوایی که از این نوع ساخته می شوند به صورت پیش فرض منتشر شوند. البته شما در هنگام ایجاد هر نوع محتوایی می توانید تیک این گزینه را فعال یا غیر فعال کنید. غیرفعال کردن این گزینه یعنی این که مطلبی که تا حالا نوشته اید کامل نیست و نیاز به زمان بیشتری دارد ولی فعلا که زمان ندارید آن را منتشر نمی کنید تا بعدا که سر فرصت تکمیل شد تیک انتشار آن را می زنید که به صورت رسمی روی سایت شما قرار گیرد.
  2. ارتقا یافته به صفحه اول : با زدن این تیک تمامی مطالب این نوع محتوا به صورت پیش فرض در صفحه اول سایت نمایش داده می شوند که البته این گزینه نیز در هنگام ایجاد هر مطلب به صورت جداگانه قابل ویرایش است.
  3. ماندگاری در بالای فهرست: که باعث می شود که این مطلب همیشه در جایگاه نسخت باشد و اولین مطلب در لیست مطالب صفحه اول بیاید. البته اگر گزینه ارتقا به صفحه اول را انتخاب کرده باشید.
  4. ایجاد بازبینی جدید:فعال کردن این گزینه باعث می شود که بتوانید نسخه های متعدد یک مطلب را نگهداری کنید. مثلا اگر یک خبر نوشته باشید و سپس متن آن را اصلاح کرده باشید امکان این که دوباره بخواهید حالت قبل از اصلاح را جایگزین کنید وجود دارد.

پشتیبانی از چند زبانی هم که از اسمش پیداست مرتبط با قابلیت ترجمه متن به زبان هایی به جز زبان اصلی سایت می باشد.

اگر تنظیمات نمایش را انتخاب کنید می توانید یک گزینه بسیار کاربردی را ببینید. این گزینه این امکان را می دهد که متنی که شامل نام نویسنده و تاریخ درج مطلب است را نمایش بدهد یا ندهد.( این گزینه در دروپال نسخه 6 در مکان پرتی قرار دارد: در مسیر قالب که بروید اگر تنظیمات کلی را انتخاب کنید آن جا می توانید این گزینه را برای نوع های مختلف فعال یا غیر فعال کنید.)

تنظیمات دیدگاه ها هم کاملا روشن است و نیاز به توضیح ندارد.

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

 

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

جهت تغییر نام آن ها و یا سایر تغییرات از لینک ویرایش روبروی هر مورد استفاده کنید.

مثلا برای اضافه کردن یک فیلد جدید با نام روتیتر در قسمت افزودن فیلد جدید ابتدا عبارت " روتیتر" را وارد می کنم. همان طور که می بینید به دلیل این که فارسی تایپ کردم نام ماشینی آن خالی می ماند و اگر دکمه ذخیره را فشار دهید با خطا مواجه می شوید به همین جهت ابتدا روی کلمه ویرایشی که درست روبروی آن قرار دارد کلیک کرده و نام ماشینی آن را خودم به صورت " lead_news " وارد می کنم.

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

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

در ابتدا که برچسب یا همان "label" قرار دارد و سپس گزینه ای که الزامی بودن ( ستاره دار کردن) فیلد را مشخص می کند.می بینید با یک تیک ناقابل می توانیم یک فیلد را الزامی کنیم حالا فکر کنید بدون دروپال اگر می خواستید با جاوااسکریپت این قانون را اضافه کنید چقدر باید بیش تر زحمت می کشیدید.

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

و در نهایت ذخیره تنظیمات را بفشارید.

شما به راحتی یک فیلد اضافه کردید که می توانید با گرفتن آن و بالا یا پایین بردن موس جای آن را نسبت به سایر فیلدها مشخص کنید.(Drag and Drop)

برای تمرین فیلدهای خلاصه خبر و تصویر را هم به همین صورت اضافه کنید و تمامی برچسب ها را هم فارسی وارد کنید.

از تب های بالایی هم می توانید نحوه نمایش فیلدها و اندازه تصاویر و همچنین تنظیمات مرتبط به نمایش دیدگاه ها(comment) را مشخص کنید.

اگر سری به منوی ایجاد محتوا بزنید مشاهده می کنید که نوع محتوای خبر شما نیز اضافه شده است.

موف باشید دوستان

متن ساده

  • No HTML tags allowed.
  • نشانی‌های وب و پست الکتونیکی به صورت خودکار به پیوند‌ها تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.

selbo (تایید نشده)

10 سال 6 ماه قبل

عالیهههههههههههه
همه آموزشا رو دنبال میکنم.
امیدوارم کامل یاد بگیرمش..
ممنوووون

mydrupal (تایید نشده)

10 سال 5 ماه قبل

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

فاطمه (تایید نشده)

10 سال 1 ماه قبل

ممنون که وقت میذارید و این آموزش ها رو به ما میدید

میلاد (تایید نشده)

9 سال 10 ماه قبل

سلام و خسته نباشید.
بخاطر زحماتی که برای آموزش ما میکشین صمیمانه تشکر میکنم. 3>