CSS Datei für ContentType einbinden?
am 08.03.2007 - 17:29 Uhr in
Hallo Community,
ich habe nach dieser Anleitung http://drupal.org/node/45944 verschiedene ContentTypes erstellt.
Jetzt möchte ich natürlich das diese auch anders aussehen. :)
Meine page.tpl.php sieht jetzt wie folgend aus:
<?php
/**
* This snippet loads up different page-type.tpl.php layout
* files automatically. For use in a page.tpl.php file.
*
* This works with Drupal 4.5, Drupal 4.6 and Drupal 4.7
*/
if ($is_front) {/* check if it's the front page */
include 'page-front.tpl.php'; /*load a custom front-page.tpl.php */
return; }
if ($node->type == 'book') {/* check if it's a book page */
include 'page-book.tpl.php'; /*load a page-book.tpl.php */
return; }
if ($node->type == 'blog') {/* check if it's a blog node */
include 'page-blog.tpl.php'; /*load page-blog.tpl.php */
return; }
if ($node->type == 'projects') {/* check if it's a blog node */
include 'page-project.tpl.php'; /*load page-project.tpl.php */
return; }
include 'page-default.tpl.php'; /*if none of the above applies, load the page-default.tpl.php */
return;
?>
Wenn also ein Node vom Typ projects geladen wird soll die "page-project.tpl.php" geladen werden, bisher nur eine Kopie der page-default.tpl.php. Wie kann ich jetzt ein "neues" Stylesheet für diese Seite einbinden, denn bisher benutzt Drupal natürlich das Standart style.css. Ich stelle mir vor ein weiteres Theme in mein aktuelles Themeverzeichnis zu kopieren, das genau dann geladen wird wenn
die page-project.tpl.php Seite aufgerufen wird. Ein direktes einbinden in die page-project.tpl.php
Datei hat leider nicht funktioniert also circa so:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language ?>" lang="<?php print $language ?>">
<head>
<title><?php print $head_title ?></title>
<?php print $head ?>
<?php print $scripts ?>
<style>
hier stand der css code
</style>
</head>
<body<?php print phptemplate_body_class($sidebar_left, $sidebar_right); ?>>
<p><a id="top"></a></p>
<div id="wrapper-header">
<div id="header">
<?php
// Prepare header
$site_fields = array();
if ($site_name) {
.
.
.
.
.
.
Vielleicht hat jemand einen Tipp für mich.
mfG Florian
- Anmelden oder Registrieren um Kommentare zu schreiben
Brauchst du das wirklich?
am 08.03.2007 - 18:27 Uhr
Diese Beispiel geht davon aus, dass man ein komplett anderes Layout je nach Typ haben will.
Wenn du nur den Content eines neuen Inhaltstyp anders stylen willst, musst du dir nur *.tpl.php Dateien nach dem folgendem Muster erzeugen. Die werden von der PHPEngine automatisch gefunden.
Book: node-book.tpl.php
Forum: node-forum.tpl.php
Neuer Typ: node-name_des_neuen_typs.tpl.php
vg
--
md - DrupalCenter
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
JA genau ich möchte ein
am 09.03.2007 - 12:29 Uhr
JA genau ich möchte ein komplett anderes Theme haben, die node-type.tpl.php Sache hatte ich schon mal implementiert reicht mir aber nicht. Wie könnte man also das Problem lösen?
Gruß Florian
"The final answer is 1337"
Taxonomy Theme
am 09.03.2007 - 12:45 Uhr
Deine Site wird ja dann komisch aussehen, wenn ein anderer Inhaltstyp ein komplett anderes Layout hat. Egal. Versuchs mal mit dem Taxonomy Theme. Wenn du die Beiträge eines neuen Inhaltstypen einer Kategorie zuweist (sollte man grundsätzlich immer tun), gibt dir das Modul Taxonomy Theme die Möglichkeit, dafür ein komplett anderes Theme auszuwählen.
Hier ein von uns umgesetztes Beispiel: http://www.tonhalle.de
Wir verwenden dort 2- und 3-spaltige Themes mit unterschiedlichen Farben und anderen Headern, allerdings mit einem einheitlichen Erscheinungsbild.
Man kann das aber auch so umsetzen, wie ich hier beschrieben habe: http://www.drupalcenter.de/node/1365
Je nach Pfad schreibt man bei der Methode andere Styles für bestimmte Selektoren.
vg
--
md - DrupalCenter
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Anonsten werden zusätzliche
am 09.03.2007 - 12:51 Uhr
Anonsten werden zusätzliche CSS-Dateien so eingebunden:
<?php
print theme('stylesheet_import', base_path() . path_to_theme() . '/stylesheet.css');
?>
Siehe dazu auch: http://drupal.org/node/66122
Oder so:
<?php
drupal_add_css(path_to_theme() .'/stylesheet.css');
?>
Siehe dazu: http://api.drupal.org/api/5/function/drupal_add_css
--
bv - drupalcenter.de