آموزش طراحی قالب دروپال 8 - بخش سوم ::: طراحی قالب اختصاصی

در بخش سوم از آموزش های  طراحی قالب دروپال 8 قصد داریم تا نحوه طراحی یک قالب در دروپال 8 رو به شما آموزش بدیم.همون طور که در آموزش قبلی گفتیم ، فولدر  themes که در روت قرار گرفته برای فراخوانی یک قالب جدید ازش استفاده میشه.حال میخوایم در چند گام یک قالب اختصاصی رو طراحی کنیم : 

گام اول : ایجاد یک فولدر به نام قالبی که مورد نظر هست.بطور مثال من اسم قالبم رو میزارم drupalcenter .

گام دوم : ایجاد فایل   THEMENAME.info.yml

بطور مثال : drupalcenter.info.yml 

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

name: Drupalcenter

description: 'A flexible, recolorable theme with many regions and a responsive, mobile-first layout.'

type: theme

base theme: drupalcenter

version: '8.0.4'

core: '8.x'

libraries:

 -  drupalcenter/global

regions:

menu: Menu

logo:Logo

 content: Content 

# Information added by DrupalCenter.ir  

که بخش های مختلف را توضیح خواهیم داد :

بخش اول :

name  : نام قالب که در بخش ظاهر  (appearance) نمایش داده خواهد شد. 

description : برای نوشتن توضیحات در موردقالب که در بخش ظاهر (appearance) قابل نمایش هست.

 type : نشان دهنده نوع فرمت هستش.بطور مثال : ماژول ، قالب یا پروفایل ، که در قالب همیشه گزینه theme خواهد بود.

base theme : در صورت استفاده از یک قالب پایه ، نام آن نوشته می شود.

version : نوشتن ورژن هسته استفاده شده برای اینکه از ماژول های سازگار با اون ورژن استفاده بشه.

core : نوشتن نسخه هسته.

بخش دوم : 

در این بخش میخواهیم نحوه فراخوانی فایل های css , js و.. رو توضیح بدیم.

در دروپال 7 تمامی این فایل های در خود فایل .info فراخوانی می شد.اما در دروپال 8 ، فایل های css , js در یک فایل دیگری با نام  THEMENAME. libraries.yml فراخوانی خواهد شد. بطور مثال : drupalcenter. libraries.yml

پس یک فایل بصورتی که گفته شد ایجاد میکنیم و به صورت زیر css ,js مورد نظر رو فراخوانی خواهیم کرد :

global:

  version: VERSION

  css:

    theme:

      css/style.css: {}

      css/bootstrap.min.css: {}

  js:

    js/bootstrap.min.js: {}

 

global : نام یک تابع هست که از این نام تابع برای فراخوانی فایل drupalcenter. libraries.yml  در  فایل drupalcenter.info.yml استفاده خواهیم کرد.

version : میتوان ورژن مربوط به فایل را نوشت و یا نام VERSION  را قرارداد.

اگر بخواهیم فایل css را فراخوانی کنیم در ابتدا باید نام css:  را نوشت ، سپس یک نام برای اینکه مشخص کنیم برای کدام بخش قسط نوشتن css داریم بطور مثال :   

global:

  version:VERSION

    css:

      theme:

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

css/style.css: {}

نکته: قراردادن {} بعد از نوشتن مسیر الزامی می باشد.

برای  صدا زدن فایل js  هم مانند css عمل خواهیم کرد .در ابتدا مشخص میکنیم که میخواهیم js صدا بزنیم و بعد نوشتن مسیر فایل مورد نظر : 

js:

   js/demo.js: {}

خوب نوشتن فایل drupalcenter. libraries.yml  تمام شد ، فقط باید اون رو فراخوانی کنیم.

همان طور که گفته شد این فایل باید در drupalcenter. info.yml  بصورت زیر فراخوانی شود : 

ابتدا مشخص میکنیم که قصد صدا کردن libraries  را داریم ، سپس بعد از نوشتن نام قالب همراه با علامت دش (-) ، نام تابع را مینویسیم.

libraries:

- drupalcenter/global

 

نکته : نام تابعی که بعد از قالب(global) در این جا نوشته می شود باید هم نام تابع نوشته شده در فایل 

drupalcenter. libraries.yml  باشد.

بخش سوم : 

قطعا مهم ترین بخش طراحی قالب ، در نظر گرفتن نواحی هستش که برای فراخوانی آنها بصورت زیر عمل خواهیم کرد : 

ابتدا مانند فراخوانی libraries  مشخص میکنیم قصد فراخوانی ناحیه را داریم ، سپس هر ناحیه را مشخص میکنیم.

regions:

  menu: Menu

  logo:Logo

 content: Content

خوب در این جا نوشتن فایل info  به پایان رسید. !

گام سوم : ایجاد فولدرهای css , js , images که در فایل های مربوط به هریک رو در فولدر مربوطه قرار خواهیم داد.

گام چهارم : قرار دادن یک لوگو با پسوند .svg  در فایل قالب بصورت  logo.svg  .

در صورتی که بخواهیم یک شات از قالب در صفحه مربوط به قالب نمایش داده شود یک تصویر از قالب بصورت screenshot.png  در فایل قرار میدهیم.

گام پنجم : ایجاد یک فولدر با نام templates که فایل مربوط به طراحی صفحه اصلی ، صفحات داخلی ، صفحه نمایش یک محتوای خاص ، طراحی یک قالب برای بلوک ، کامنت ها و....... در آن قرار خواهد گرفت.

بطور مثال برای  ایجاد صفحه اصلی سایت (front) ابتدا یک فایل با نام page--front.html.twig  ایجاد میکنیم.

خوب حالا فایل رو باز میکنیم و شروع میکنیم به نوشتن html , html5 , bootstrap  و یا هرچیز دیگری که بلد هستیم.

من میخوام از بوت استرپ(bootstrap) استفاده کنم اما قبل از اون باید فایل های اون رو فراخوانی کنم.پس کد زیر رو به فایل 

drupalcenter. libraries.yml که مربوط به css , js هست اضافه میکنم. در نتیجه فایل بصورت زیر خواهد شد : 

 

 

global:

 version: VERSION

   css:

     theme:

       css/one.css: {}

      css/bootstrap.min.css: {}

   js:

      js/bootstrap.min.js: {}

 

بعد از انجام تغییرات شروع میکنیم به طراحی یک هدر که میخوایم لوگوو منوی ما در اون قرار بگیره :

<header class="header">

     <div class="container">

          <div class="col-md-4">

               {{page.logo}}

         </div>

         <div class="col-md-8">

               {{ page.menu }}

          </div>

     </div>

</header>

همان طور که در کد ها مشخص هست برای فراخوانی ناحیه در صفحات بصورت {{page.REGION NAME}} عمل خواهیم کرد.

خوب حالا تنها کاری که باقی مانده این هست بلوک لوگو که در دروپال8 به نام site branding  هستش رو در ناحیه logo قرار بدیم و بلوک منو هم در ناحیه menu !

برای سایر بخش های قالب نظیر ناحیه محتوا ، سایدبار،فوتر و .... نیز به همین روش انجام میشه.

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

در بخش بعدی آموزش طراحی قالب برای دروپال 8 باهم صفر تا صد یک قالب رو کد خواهیم کرد.

mohamad.arabshahi
محمد عربشاهی - در حال یادگیری
مرکز دروپال ايران

راه های ارتباط با ما

آدرس : دفتر شهریار : شهرک وائین ، بعثت 5 نبش سپیدار 10 پلاک 26

تلفن : 09370977406 - 09384363798

ایمیل : drupalcenter.ir@gmail.com

ارتباط با مدیر سایت از طریق تلگرام

logo-samandehi

مرکز دروپال ایران بزرگترین وب سایت  آموزش دروپال در کشور ، در مهر ماه سال 1388 به طور رسمی فعالیت خود را در زمینه وب و دنیای دیجیتال آغاز کرده است. مجموعه مرکز دروپال ایران شامل « آموزش های تصویری » ، « معرفی جدیدترین ماژول ها » ، « ترجمه مقالات دروپالی روز دنیا » ، « طراحی قالب دروپال» و « خبرهای دنیای دروپال» می باشد.این مجموعه به همراه گروه فنی خود و به  پشتوانه کاربران فعال و متعهد ، با  در نظر داشتن چشم اندازی برای آینده نزدیک ، قصد دارد تا به معرفی و آموزش  هرچه بیشتر و بهتر هسته قدرتمند و دوست داشتنی دروپال ،  به روش های مختلف در زمینه های گوناگون بپردازد تا در کنار کاربران خود به موفقیت های هرروز خود بیفزاید. در همین راستا قصد داریم تا بصورت تخصصی و حرفه ای مباحث مختلف دروپال را با کوچک ترین جزئیات و تکنیک ها به دروپال کاران و کسانی که قصد دارند طراحی وب سایت ،پورتال و سیستم های هوشمند را آغاز کنند ، آموزش دهیم.گستردگی مطالب ، تنوع در آموزش ها ، نگاه تخصصی و همگام بودن با کاربران در آموزش عوامل متمایز کردن مرکز دروپال ایران با سایر آموزش دهندگان می باشد.
دروپال برای انجام طراحی های شگفت انگیز !  Drupal Builds something amazing