قالب ها در دروپال

در این مقاله می خواهم به اصول کلی قالب ها در دروپال 6 بپردازم :

بطور کلی قالب ها در دروپال با موتورهای گوناگونی نوشته می شود که انواع موتورها را می توانید در آدرس روبور ببینید : http://drupal.org/project/Theme+engines

اما بیشترین مورد استفاده برای قالب ها در دروپال موتور phptemplate هست . قالب ها در این موتور با زبان php و css ساخته می شوند.

حالا می رسیم به قسمت اصلی که با آن می توانید از اصول کلی قالب ها در دروپال شمایی در ذهن خود داشته باشید.

در پوشه ی اصلی قالب هایی که دانلود می کنید دو فایل اصلی باید موجود باشد


یکی page.tpl.php و style.css و دیگری themename.info


بقیه فایل ها که می بینید امکانات اضافی آن قالبی که انتخاب کرده اید هستند.

در فایل themename.info اطلاعات کلی در مورد قالب قرار گرفته این اطلاعات شامل


نام قالب ،ورژن آن ، ناحیه های قلب ( سمت راست ، چپ ، بالا و ...) و فایل css مربوط به قالب و یکسری اطلاعات دیگر هست.

مثلا برای قالب Bluebreeze این فایل بدین صورت هست :

name = Bluebreeze


description = A blue, tableless, fluid width theme.


core = 6.x


engine = phptemplate


stylesheets[all][] = style.css


regions[left] = Left sidebar


regions[right] = Right sidebar


regions[content_top] = Content top


regions[content_bottom] = Content bottom


regions[header] = Header


regions[footer] = Footer

features[] = logo


features[] = favicon


features[] = name


features[] = slogan


features[] = mission


features[] = node_user_picture


features[] = comment_user_picture


features[] = primary_links


features[] = secondary_links

; Information added by drupal.org packaging script on 2007-09-29


version = "HEAD"


project = "bluebreeze"


datestamp = "1191024062"

در صفحه ی page.tpl.php کدهای اصلی صفحه خروجی وب شما قرار دارد.


همان html که به کاربر نشان داده می شود.

در قسمت های مختلف این صفحه متغیر ها با دستود php چاپ می شوند. مانند دستور زیر




<?php if ($right): ?>

class کلاس مربوط به این قسمت که در فایل style.css قرار گرفته را فراخانی می کند و عبارت print آن متغیر را چاپ می کند که در اینجا نوار سمت راست هست.

© irdrupal 2007. All rights reserved. IRDRUPAL.ORG Company .