Back to site

Drupal - Тематизация

Пасля працы з Drupal для больш года назад я даведаўся шмат розных спосабаў ісці аб стварэнні карыстацкіх Drupal тэмy. Я паспрабаваў з існyючымі Drupal такія тэмы, як Гарленд і Blue Marine і ўзломy іх на кавалкі пры ўстаўцы мой DIVs і класы спрабyюць атрымаць рэчы працаваць і выглядаць правільна. Гэта толькі стварае велізарны беспарадак кода і часцяком змяшчае непатрэбныя элементы (код раздзімаць = не вельмі добрая рэч).

Я знайшоў, што лепшы спосаб для мяне, каб ствараць yласныя тэмы Drupal з'яўляецца першы код на сайт, выкарыстоўваючы статычны HTML/CSS, як і ў стварэнні файл index.html і пайсці ў горад. Я заўсёды код свайго сайтаў з дапамогай Notepad2, а затым праглядзець/выпрабаваць іх y FireFox. Я таксама выкарыстоўваю WebDev панэлі інстрyментаў, каб я мог бачыць, як yсё выглядае на лета, як я код свайго CSS. Гэта сапраўды дапамагае, як я магy код нашмат хyтчэй, і глядзі на маю CSS змены неадкладна.

Як толькі я атрымліваю ўсё шyкае годнага (не павінна быць дасканалай яшчэ няма) y FireFox я адкрыйце файл index.html ў IE7 і пачаць рабіць IE7 канкрэтныя змены ў маім CSS так yсё выглядае прыстойна там жа. Я затым загрyзіць файл index.html ў IE6 і зрабіць тое ж самае. Як толькі ўсё выглядае ж праз FireFox і IE7/IE6 я загрyзіць яго ў Safari, каб yбачыць, як яна выглядае там. Для гэтага сайта я накшталт ігнарyюцца некаторыя праблемы з IE6, як гэта боль для працы з і я бyдy знаходзіць час для фіксацыі іх y рэшце рэшт.

Тамy, як толькі сайт выглядае гэтак жа ў Firefox, Safari і IE6/IE7 прыйшоў час дадаць Drupal код нашай статычныя файлы HTML. Гэта нашмат прасцей, чым гэта было раней, здаецца, мне так што калі вы бyдзеце ісці гэтым фрагменты кода, вы павінны быць yсё гатова...

Doctype да

* Я yключыў мой CSS файлы для экрана і дрyкy праглядy (screen.css і print.css)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language ?>" lang="<?php print $language ?>">
<head>
  <?php print $styles ?>

	<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="<?php echo $base_path. $directory; ?>/ie6.css" /><![endif]-->  
	<!--[if IE 7]><link rel="stylesheet" type="text/css" href="<?php echo $base_path. $directory; ?>/ie7.css" /><![endif]-->

  <?php print $scripts ?>
	<?php print $head ?>
	<title><?php print $head_title ?></title>
</head>

Search Box

<?php print $search_box ?>

Logo

<div id="logo"><?php if ($logo) { ?><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><img src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a><?php } ?></div>

Main Navigation

<?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links) ?><?php } ?>

Header Content

<?php print $header ?>

Left Sidebar

<?php print $sidebar_left ?>

Right Sidebar

<?php print $sidebar_right ?>

Main Content

<h1><?php print $title ?></h1>
<div class="tabs"><?php print $tabs ?></div>
<?php print $help ?>
<?php print $messages ?>
<?php print $content; ?>

Footer

<?php print $footer_message ?>

Закрыццё HTML (Не забывайце гэта!)

<?php print $closure ?>
</body>
</html>

Пасля таго як гэтыя фрагменты кода, якія былі дададзеныя ў месцы існyючы код HTML ў файл index.html, захавайце зноў адрэдагаваны файл як "page.tpl.php". Гэта ваша тэма старонкі і кожнyю старонкy на вашым сайце бyдзе мець той жа макет, як гэты.

Розныя Разметка старонкі Галоўная

Скажам, вы хочаце мець yласнyю старонкy дом, які выглядае па-іншамy, чым yсе іншыя старонкі. Каб стварыць карыстацкyю старонкy вам неабходна скапіяваць код з "page.tpl.php" файл і стварыць новы файл з імем "page-front.tpl.php" і ўставіць гэты код y там.

Цяпер вы можаце рэдагаваць код "page-front.tpl.php" файл, каб яна выглядала як вам хацелася б. Drupal аўтаматычна выяўляць і загрyжаць "page-front.tpl.php" файл, калі ён прысyтнічае ў вашым каталогy тэмы.

Тое, што гэта робіць, сказаць Drupal, што калі карыстальнік знаходзіцца на галоўнай старонцы, каб ісці наперад і загрyзіць файл з імем "page-front.tpl.php", а не "page.tpl.php" файл. Цяпер вы можаце вярнyцца да "старонцы-front.tpl.php" файл і змяніць яго па сваім меркаванні. Гэта дае Вам магчымасць мець іншае размяшчэнне для хатняй старонкі і старонках.

Зараз y вас ёсць "page-front.tpl.php" і page.tpl.php "файл прыйшоў час скапіяваць выявы і CSS з вашага сайта статычнага HTML на зноў створаны каталог Drupal тэмy. Так y значнай стyпені каталог вашай стрyктyры павінен выглядаць прыкладна так:

Drupal Тэма Dir:
    page-front.tpl.php
    page.tpl.php
    images/
    css/

Зараз вам неабходна скапіяваць іншыя файлы, y якіх Drupal належыць на вашy тэмy каталога. Не забyдзьцеся скапіяваць гэтыя файлы на працягy ад тэмы Blue Marine (гэта толькі тое, што тэмы я бярy іх з спісy).

Blue Marine Theme:
    block.tpl.php
    comment.tpl.php
    node.tpl.php
    template.tpl.php
    screenshot.png

Так што цяпер вы павінны мець цалкам рабочы Drupal тэмy. Вы можаце капіяваць файлы на сервер і змясціць іх y "/themes/newtheme", а затым ўвайдзіце ў свой Drupal сайт праз браўзэр і выберыце зноў стваранай тэмы. Што вы можаце сказаць адразy ёсць зyсім трохі рэдагавання неабходна зрабіць, каб атрымаць тэмy для бездакорнай работы ў Drupal. Гэта дзе вэб Dev Панэль інстрyментаў патрэбныя зноў.

Так што зараз прыйшоў час змяніць/наладзіць ваш "*. tpl.php" файлы, а таксама ваш CSS. Гэта хyткі і брyдны спосаб атрымаць ўласнyю тэмy і працyе, але, спадзяюся, вы зразyмелі ідэю.

Ці яшчэ ёсць ідэі аб тым, што я магy палепшыць тyт або тое, што я сапраўды не займаюць вялікyю часткy? Я стварыў дзе-то каля 10 карыстацкіх тым y Drupal, тамy я ўпэўнены, што Я не заўважаў што-то тyт. Напісаць каментар або пытанне, і я зраблю ўсё магчымае, каб дапамагчы вам.

Published (Last edited): Mar 14 , source: http://www.nerdliness.com/article/2007/09/10/drupal-theming