PDA

View Full Version : سوال: ساخت قالب در دروپال



Dead Space
چهارشنبه 18 اردیبهشت 1392, 14:42 عصر
سلام دوستان
من یه پروژه دستمه که باید با دروپال انجام بشه تا حالا هم با این سی ام اس کار نکردم.
من قالب رو در اوردم حالا باید تبدیلش کنم به استاندارد قالب دروپال
یه سری مقالات هم خوندم در ارتباط با نحوه ساخت قالب در دروپال ولی باز گیج میزنم.
مثلا نمیدونم قسمت منوی سایت رو من در کدوم فایل می تونم ویرایش کنم و به شکل منویی که خودم میخوام درش بیارم
و اینکه از Region ها هم سر در نمیارم زیاد.
ممنو نمیشم یه نفر راهنمایی کنه
ممنون

eshpilen
چهارشنبه 18 اردیبهشت 1392, 19:47 عصر
چه جالب منم تازگی رفتم سراغ دروپال ببینم چیه.
یه تست های کوچیکی هم با قالب انجام دادم روش.
یکی از قالب های استاندارد خودش که راست به چپ هم داره مثل bartik رو بردار و روش تست کن.
یعنی کپی کن و بعنوان یک Base روش کار کن.
شاید بتونی همون رو بقدر کافی تطابق بدی.
البته اگر قالب مورد نظر شما خیلی سفارشی و خاص نیست.

من مثلا یه کپی از bartik رو ریختم توی این آدرس: DrupalCMS-7.18\sites\all\themes\t
بعد داخل bartik.info اسم تم رو عوض کردم به این شکل: name = hm-test

خب بعدش یه تستهای ساده ای روی ناحیه ها انجام دادم.
محتویات فایل page.tpl.php رو بررسی کن. این فایل بنظرم فایل اصلی و اول تمپلیت باشه. مال صفحهء اصلی سایته.
اتفاقا ساختارش ساده و روشنه و میتونی دستکاری و تست هم بکنی ببینی هر کدی مال کجاست. مثلا border قرمز بذار برای div ها ببین هرکدام مال کجاست؛ البته ناحیه (region) اگر محتوا نداشته باشه (خالی باشه) نمایش داده نمیشه. حواست باشه.

شما در همون فایل bartik.info مشاهده میفرمایید که region ها اونجا تعریف شدن.

من برای تست این region جدید رو اینطوری توش اضافه کردم: regions[test_region] = my test region

بعد با استفاده از کپی کردن نمونه کدی که برای سایر ناحیه ها در فایل page.tpl.php دیدم، محل قرارگیری ناحیهء جدیدی که خودم ایجاد کردم رو در فایل page.tpl.php به این شکل ایجاد کردم:


<?php if ($page['test_region']): ?>
<div id="test_region" class="column sidebar" style="border: thick solid #f00"><div class="section">
<?php print render($page['test_region']); ?>
</div></div> <!-- /.section, /#sidebar-first -->
<?php endif; ?>

بعد البته در فایلهای css هم میتونی براش استایل نمایشی تعیین کنی.
میتونی استایلی رو که مثلا برای sidebar_first تعیین شده برای ناحیهء خودت هم تعیین کنی، که به این شکل بصورت باکسهای کناری صفحه درمیاد.

خب حالا که ناحیهء شما در فایل bartik.info معرفی و در فایل page.tpl.php مکان قرارگیری اون مشخص شده، و استایل css هم احتمالا دادی بهش، بعد باید یه کار دیگه بکنی تا تم آپدیت بشه. باید کش تم رو خالی کنی. چون محتویات فایلهای تم مثل bartik.info در دروپال کش میشن.

برای خالی کردن کش باید با اکانت ادمین/مدیر به صفحهء پیکربندی دروپال بری، بعد گزینهء «کارایی» رو انتخاب کن، بعد روی دکمهء «حذف حافظهء نهان» کلیک کن.

تا اینجا ناحیهء جدید شما توسط دروپال اضافه شده.
بعد میری توی بخش مدیریتی «ساختار»، بعد بخش «بلوک ها»، اونجا نگاه کنی میبینی ناحیهء شما هم اضافه شده (مثلا مال منو تحت عنوان my test region آورده). خب بعد شما میتونی با درگ و دراپ کردن محتواهایی که اونجا هست، مثلا فرم جستجو، اونا رو ببری توی ناحیهء جدید خودت.
راستی یادت نره دست آخر دکمهء ذخیره که در پایین صفحهء مدیریت بلوک ها هست رو هم بزنی!

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

امیدوارم مطالبی که دادم به درد کسی بخوره.

Dead Space
پنج شنبه 19 اردیبهشت 1392, 09:37 صبح
ممنون دوست عزیز بابت راهنمایی هات
سوالی که الان باقی هست اینه که خوب من وقتی region هارو تعییر می کنم توی region من یه متغیری دارم به اسم content.
حالا سوال اینجا هستش که چطور من میتونم به محتویایت این متغیر دسترسی داشته باشم برای شرط گذاشتن.
اصلا اونجا برای شرط گذاشتن هستش ؟ یا باید جای دیگه این کار رو کرد.
مثلا من بلاکی به content اضافه کردم که 3 تا لینک به سایت دیگه هستن میخوام مثلا لینک اول اسمش یاهو هستش با عکس یاهو نمایش داده بشه بعدی گوگل هست آیکن گوگل بیاد و ... در حال حاضر تکست لینک میاد مثلا زده یاهو با یه بکگراند طوسی من میخوام به استایلش دسترسی داشته باشم ولی نمیدونم استایلش رو از کجا میتونم دست ببرم توش