چگونه قالب "سایت آفلاین" را تغییر دهیم؟



اختصاص قالب به صفحه "سایت آفلاین" بدون درد و خونریزی!

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

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

نگهداری سایت یا به اصطلاح "Site Maintenance" امکان ارزشمندی است که در دروپال شاهد آن هستیم.به علاوه در صورت بروز هرگونه مشکل فنی در ارتباط با سایت؛ دروپال با نمایی تحت عنوان "Site Offline" مدیر سایت را از وجود مشکل فنی باخبر میسازد،نکته جالب در بروز مشکلات فنی بالاخص مشکلاتی که پایگاه داده و هسته دروپال با آن روبرو میشود این است که با نمایش راهنمایی هایی که به طور پیشفرض در دروپال تعیین شده اند سعی بر رفع مشکل مربوطه دارد.این هم دلیلی بر قدرت بالای این سیستم است... :)

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


اما مدیر یک سایت دروپالی بیشتر دوست دارد تا هر صفحه ای نمایان شود به جز صفحه پیشفرض این قابلیت ، به طور پیشفرض دروپال دستور میدهد تا در هر دو مورد یعنی "database failure" و "Site Maintenance" سایت را در نمای قالب « minnelli » باز کند.در این صورت کاملا مشخص خواهد بود که سایت پیش رو یک سایت دروپالی است ، همچنین قالب آن قالب مشهوریست که هر دروپال کاری علاقه چندانی به آن ندارد.در این ترفند قصد دارم تا شما را با روشی آشنا کنم که هم بتوانید پیغام خود را تغییر دهید ، هم قالب را تغییر داده ، و هم تایتل هر صفحه را شخصی سازی کنید.


مراحل قدم به قدم توضیح داده شده ، با سادگی تمام  و همراه با جزئیات ذکر شده است...


  •   ایجاد دو فایل برای شناساندن قالب مربوطه به دروپال:


فرقی نمیکند شما چه قالبی را دوست دارید به عنوان نمای چنین صفحاتی استفاده شود ، میتواند قالب جاری سایت باشد ، میتواند قالبی از قالبهای پیشفرض دروپال و یا قالبی که دوست دارید باشد ؛ حتی میتواند یک قالب نوشته شده برای این صفحات باشد که خودتان نوشته اید.شما باید دو فایل ایجاد کنید : maintenance-page.tpl.php  و  maintenance-page-offline.tpl.php


maintenance-page.tpl.php : این فایل صفحه ای را کنترل خواهد کرد که سایت در حالت "Maintenance Mode" باشد اما ارتباطات دیتابیس به درستی عمل نماید.

maintenance-page-offline.tpl.php : این فایل صفحه ای را کنترل مینماید که دروپال به دیتابیس دسترسی نداشته باشد .


دو روش برای ایجاد چنین فایلی وجود دارد،اما در هر دو روش باید فایل ها در دایرکتوری قالب مربوطه قرار داده شوند.

1- دایرکتوری قالبی را که مایل به استفاده برای چنین صفحاتی هستید باز کنید و از فایل page.tpl.php را کپی گرفته و به نام های بالا تغییر دهید.یعنی فایلهای maintenance-page.tpl.php  و  maintenance-page-offline.tpl.php را از فایل قالب مورد نظر ایجاد مینمایید.

2- روش دیگر ایجاد این فایلها کپی و انتقال این فایل از مسیر modules/system/maintenance-page.tpl.php به دایرکتوری قالب مورد نظر است.پس از انتقال تغییرات لازم را انجام دهید.


  •  تغییرات حیاتی! که باید در فایل Settings.php صورت گیرد:


از مسیر sites/default و یا sites/Yoursite.com (در صورتی که از سایتهای چندگانه استفاده میکنید) به فایل settings.php دسترسی خواهید داشت.آن را باز کرده و تغییراتی که در زیر اشاره میکنم را مو به مو در آن اعمال کنید.این قدم نیز به دو روش قابل انجام است که هر دو مورد را ذکر میکنم:

1- کد زیر را به انتهای فایل اضافه نمایید:


<?php
  $conf['maintenance_theme'] = 'themeName';
?>



نکته کنکوری: بهتر است که کاراکترهای نمایانگر PHP را از کد بالا بردارید و به انتهای فایل اضافه کنید.به جای عبارت themName نام قالب مورد نظر را وارد کنید.(این نام دقیقا چیست؟ پاسخ: نامی که شما باید وارد کنید نامیست که توسط فایل themename.info قالبتان معرفی شده است.به این فایل مراجعه کنید و نام قالب خود را ببینید.)

2-  از پارامترهای پیشفرض این فایل استفاده کنید که اتفاقا بستر شخصی سازی بیشتری هم به ما میدهد:

شما باید حداقل 3 خط را از حالت کامنت خارج کنید.به عبارت دیگر سه خط را Uncomment میکنید.این خط ها چه هستند؟


  • خط 184 : آرایه مربوط به $conf
  • خط 196 : 'maintenance_theme' => 'minnelli'
  • خط 225 : کمانک پایانی   );


بنابراین شما سه خط زیر را فعال نموده اید:


 $conf = array(

 'maintenance_theme' => 'paper',

);


تغییرات لازم را در خطوط بالا اعمال کنید . کاری که شما باید بکنید این است که در خط 196 خط را به عبارت زیر تغییر دهید:



'maintenance_theme' => 'Theme Name'


به جای Theme Name باید نام یکتای قالب مورد نظر را قرار دهید.دقت کنید این قالب نیز قالبی است که شما برایش دو فایل maintenance-page  و  maintenance-page-offline را ساخته اید.این فایلها نیز باید در دایرکتوری همین قالب باشند.

تغییر انجام شده است،فایل را ذخیره کرده و به مسیر Administer > Site configuration > Site maintenance  مراجعه کنید و سایت خود را آفلاین کنید.هم اکنون خارج شده و مشاهده خواهید کرد که قالب مورد نظر به عنوان صفحه سابق خودی نشان میدهد!

این صفحه همان صفحه ایست که دروپال آن را با نام maintenance-page  و به فایلی با همین نام میشناسد.شما میتوانید تغییراتی در فایل ذکر شده نیز انجام دهید .


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

کارهایی که میتوانید انجام دهید:

* قالب اختصاصی برای صفحه Site Offline
* تغییر تایتل صفحات Site offline



مولف: امید دهقانزاد

التماس دعا
موفق باشید




امکان دریافت افزونه ها ؛ قالبها و فارسی سازها فقط برای اعضا مقدور میباشد.لطفا ثبت نام کرده و یا لاگین نمایید

Copyright © 2009 fadrupal.ir | All Rights Reserved | designed&hosted by ROOZWEB.COM
founder by om!Dehgh@n