Wie kann ich bestimmten Kategorien (Vocabularies?) ein individuelles Hintergrundbild zu ordnen?
am 30.06.2006 - 14:48 Uhr in
Ich würde ganz gerne in der Template-Datei "page.tpl.php" im Kopf der Seite
per CSS ein Standard-Hintergrundbild definieren. Z.B. so
background: url("standard.gif")
Wenn ich mich nun in einer bestimmte Kategorie befinde, z.B. Projekte
soll ein anderes Hintergrundbild genutzt werden - z.B. standardProjekte.gif.
Wie es mir vorschwebt bräuchte ich eine Variable die den Kategorienamen ausgibt.
Dann würde folgende Möglichkeit funktionieren:
(vorausgesetzt ich habe vorher zu jeder Kategorie ein entsprechend benanntes Bild erzeugt.)
background: url("standard<?php print $Kategorie; ?>.gif")
Kann mir jemand diese Variable benennen? Oder hat jemand einen anderen Vorschlag?
Ich nutze übrigens Drupal 4.6.
Mit dem Modul "taxonomy_theme" kann ich bestimmten Kategorien (Vocabularies?) ja nur ein ganzes Theme zu ordnen.
Das ist mir aber ein bisschen zu viel. Es geht ja nur um das Hintergrundbild :-)
Gruss Matthias Ring
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Variable heisst
am 30.06.2006 - 14:52 Uhr
Die Variable heisst
$taxonomy
und ist ein array.vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Re: Die Variable heisst
am 30.06.2006 - 15:01 Uhr
Die Variable heisst
$taxonomy
und ist ein array.vg
Danke für die schnelle Antwort. Ich bin nur leider kein PHP Profi, aber wenn ich <?php print($taxonomy) ?> einbaue erhalte ich nur den Begriff "Array" als Ausgabe....
Wie kann ich per PHP den Kategorienamen ausgeben?
Siehe
am 30.06.2006 - 15:08 Uhr
Siehe http://de.php.net/implode .
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
$taxonomy
am 01.07.2006 - 00:24 Uhr
Laut Drupal Theme Handbuch http://drupal.org/node/11816 steht die Variable $taxonomy nicht in der page.tpl.php sondern in der node.tpl.php zur Verfügung.
Deshalb wundert es mich, dass du überhaupt die Ausgabe "array" bekommst.
In der node.tpl.php kannst du ansonsten folgendes schreiben.
<?php
$test = $taxonomy[0]
?>
Jetzt kannst du die Variable $test auswerten und entsprechend reagieren.
Das Beispiel geht davon aus, dass du einem node nur eine Kategorie zugeordnet hast.
Meinolf
-------
www.mdwp.de
http://drupal.mdwp.de
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Oder
am 01.07.2006 - 00:40 Uhr
du gehst das array einmal durch und wertest die einzelnen Einträge aus:
<?php
foreach($taxonomy as $test)
echo $test; // echo hier nur als Beispiel
// sonst würde hier stehen "if $test == 'IRGENDWAS'"
?>
Die Variable $test ist nur ein Platzhalter für jeden Eintrag im Array und kann auch $eine_rose_ist_eine_rose_ist_eine_rose heißen ;-)
Meinolf
-------
www.mdwp.de
http://drupal.mdwp.de
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Mache mal bitte
am 01.07.2006 - 11:05 Uhr
Mache mal bitte Folgendes
Füge in der page.tpl.php unmittelbar unter dem Tag body diesen Code ein:
<?php
print 'DEBUG: arg(0) '.arg(0).' | arg(1) '.arg(1).' | arg(2) '.arg(2);
?>
Dann klicke auf Deine Webite alle Kategorien durch und beobachte die Ausgabe des eingefügten Code.
Mit den verschiedenen DEBUG-Ausgaben in den einzelnen Kategorien weißt Du, wie Du die PHP-Bedingung zur Verwendung eines bestimmten Hintergrundbildes zu einer bestimmten Kategorie formulieren musst.
Du musst also arg(0) auf Deine Kategorien abfragen.
Das funktioniert aber nur auf den Startseiten der einzelnen Kategorien. Wenn man Inhalte in einer Kategorie liest ist über arg() die Kategorie nicht mehr zu ermitteln.
-------------
quiptime
Da geht noch was.
... am Beispiel meiner Breadcrumb-Ausgabe
am 01.07.2006 - 15:05 Uhr
Ersteinmal vielen Dank für die vielen Antworten :-)
Ich möchte mein Anliegen noch einmal am Beispiel meiner Breadcrumb-Ausgabe verdeutlichen:
Startseite » Produkte » Hosen » Jeans
Das ist so O.K.
Ich möchte jetzt gerne, per PHP genau den und nur den Begriff "Produkte" ausgegeben bekommen.
Und dies auf der "Produkte"-Übersichtsseite, der "Hosen"-Übersichtsseite und auf der "Jeans"-Seite selber.
("Produkte" ist bei mir in der Navigation einer der obersten Kategoriebegriffe.
"Hosen" ist eine von mehreren Unterkategorien und "Jeans" das Produkt.)
<?php
foreach($taxonomy? as? $test)
? ? ? echo? $test;
?>
Gibt bei mir auf der "Jeans"-Seite den Begriff Hosen aus.
Wenn ich das Jetzt richtig
am 01.07.2006 - 23:08 Uhr
Wenn ich das Jetzt richtig verstehe, möchtest Du die Breadcrumb-Ausgabe anpassen?
Wenn ja, dann gibt es dafür ein Modul. Kenne aber das Modul und dessen exakte Möglichkeiten nicht.
Wenn ja und dieses Modul hilft Dir nicht weiter, dann kannst Du die Breadcrumb-Ausgabe themen - mit einem Template verändern.
-------------
quiptime
Da geht noch was.
Hintergrundbild ändern
am 02.07.2006 - 10:54 Uhr
Das auf der "Jeans" Seite der Begriff "Hosen" ausgegeben wird ist ja auch richtig.
Denn Hosen ist die Kategorie. Die Frage ist jetzt: möchtest du das Hintergrundbild (denn darum gings dir ja) pro Seite, pro Haupt- oder Unterkategorie ändern.
Ich schlag dir folgendes Vorgehen vor:
Installier dir das pathouto Modul und konfigurier es für die taxonomy.
Das führt dazu, dass alle deine Seiten einen sauberen Path in der URL haben.
/Produkte/Hosen/Jeans usw.
Jetzt schreib in den body tag deiner page.tpl.php folgendes:
<body id="<?php print arg(0);"?> >
Dieser Code führt dazu, dass dein body tag jetzt für Seiten unterschiedlicher Kategorien eine andere id bekommt, auf die du mit CSS zugreifen kannst.
Beispiel:
body#hosen {background:transparent url(hosen_bg.gif) 0 0 no-repeat}
body#blazer {background:transparent url(blazer_bg.gif) 0 0 no-repeat}
oder um auf weitere Elemente zugreifen zu können:
body#hosen #sidebar-left {background:transparent url(sidebar_hosen_bg.gif) 0 0 no-repeat}
body#blazer #sidebar-left {background:transparent url(sidebar_blazer_bg.gif) 0 0 no-repeat}
Gruß
Meinolf
-------
www.mdwp.de
http://drupal.mdwp.de
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
@md, damit denke ich hast Du
am 02.07.2006 - 11:46 Uhr
@md,
damit denke ich hast Du den Nagel auf den Kopf getroffen.
-------------
quiptime
Da geht noch was.
Ach übrigens: Taxonomy
am 07.07.2006 - 12:07 Uhr
Ach übrigens: Taxonomy image http://drupal.org/node/8121
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Taxonomy Image
am 07.07.2006 - 12:41 Uhr
Wenn das Modul Image Tags erzeugt ist es für Layoutzwecke nicht geeignet. Layoutbilder gehören in die background property von CSS-Selektoren. Außerdem kann man damit ja nicht andere Eigenschaften eines Elements je nach Kategorie beeinflussen
Gruß
Meinolf
---------
www.mdwp.de
http://drupal.mdwp.de
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services