Drupal 6 Internet Corporation theme: Letöltés / Download

Mivel még nem sok Drupal 6 smink készült el és nem akartam a Drupal 6 alapértelmezett sminkjét felrakni az oldalamra úgy döntöttem megpróbálok egy Drupal 5-öst átírni, hogy működjön.

Az Internet Corporation theme mellett döntöttem.

Szerencsére felkerült a Drupal oldalára egy dokumentáció a Drupal 6 sminkeléséről
Ez volt a kiinduló alapom, hogy mégis mért nem müködnek a Drupal 5-ös sminkek a 6-os verzió alatt.

Bevallom őszintén nagyobb problémára gondoltam mint amekkora ténylegesen volt. Az egész megvalósítás nem vett igénybe fél óránál többet, persze miután elolvastam a Drupal oldalán a dokumentációt.

Lényeges különbség, hogy kell egy info fájl, mint a moduloknál. Ebbe kell egy a sminkkel kapcsolatos dolgokat deffiniálni. Milyen css-ek tartoznak hozzá, milyen JavaScript-eket töltösön be automatikusan, milyen régiói vannak stb.

Az Internet_Corporation.info így néz ki, mivel nem igényel különösebb js fájlokat, és a template.php fájlba a régiók definiálva vannak, bár itt is megtehettem volna.

Internet_Corporation.info:

; $Id$
  1. name = Internet Corporation
  2. description = Implements of Internet_Corporation theme for Druapl 6
  3. version = 1.0
  4. core = 6.x
  5. engine = phptemplate
  6. stylesheets[all][] = style.css

Innenstől fogva már nagyjából működött is, persze a blokkok nem jelentek meg, mert megválzotak. Az eredeti Internet Corporation smink nem volt valid HTML úgyhogy eltávolítottam belőle a primary_links-re vontakozó hibát.
A gond az volt, hogy az eredeti Drupal 5-ös sminkbe ez szerepelt:

  1. <ul id="menu">
  2. <?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links, array()) ?><?php } ?>
  3. </ul>

A links_theme ul - li elemeket generál, ezért nem lehet körülvenni egy ul elemmel. Így hát a Drupal 6-os sminkben kicseréltem div-re:

  1. <div id="menu">
  2. <?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links, array()) ?><?php } ?>
  3. </div>

Egy lényeges különség az, hogy mostmár nem a $slidebar_left és $slidebar_right változókkal tudjuk elérni a bal- és jobboldali régiókat hanem a $left és $right változókkal. Így a Drupal 5-ös Internet Corporation theme-ben szereplő

  1. <?php if ($sidebar_left) { ?>
  2.   <div id="left">
  3.     <?php print $sidebar_left ?>      
  4.  </div>
  5. <?php } ?>

kódrészletet ki kellett cserélni Drupal 6 alatt a következőre:

  1. <?php if (!empty($left)) { ?>
  2.   <div id="left">
  3.     <?php print $left ?>      
  4.  </div>
  5. <?php } ?>

Ezután a Drupal 5-ös page.tpl.php-ban szereplö

  1. <?php if ($mission) { ?><div class="mission"><?php print $mission ?></div><?php } ?>

sort ki kellett cserelni a

  1. <?php if (!empty($mission)) { ?><div class="mission"><?php print $mission ?></div><?php } ?>

sorra. Így mér ez is működött Drupal 6 alatt.

Végül eltérés a $footer_message változó hiánya. Ez is megváltozott és a $footer vette át a helyet.

Így a Druapl 5-ös kódban szereplő

  1. <div id="col1"><?php print $footer_message ?></div>

sort egyszerűen kicsereltem a

  1. <div id="col1"><?php print $footer ?></div>

sorra, és innenstől kezdve az Internet Corporation theme, ugyanúgy működött Drupal 6 alatt, mintha Drupal 5-öt használnánk.

Leave a Reply