Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Linke und rechte Blöcke unterschiedlich (in HTML, kein CSS)

Eingetragen von ToaTs (127)
am 30.05.2007 - 10:40 Uhr in
  • Themes & Theming

Wie kann ich es erreichen, dass in einem Theme die Blöcke der linken Sidebar anders sind als die der rechten Sidebar? Es soll also 2 block.tpl.php geben, eine für links und eine für rechts. Geht das irgendwie?

Die bekannte CSS-Lösung ist für meine Problemstellung leider nicht möglich (komplexer HTML-Code für jeden Block).

‹ Kleines Problem, aktuelle Seite herausfinden für StyleCheets Theme für jeden content type ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

block.tpl.php

Eingetragen von md (3717)
am 30.05.2007 - 11:21 Uhr

Nein, es gibt nur eine block.tpl.php. HTML-Code kann nie zu kompliziert sein, es sei denn er ist Fehlerhaft, um ihn mit CSS zu stylen.

vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich wünschte er wäre nicht

Eingetragen von ToaTs (127)
am 30.05.2007 - 11:37 Uhr

Ich wünschte er wäre nicht kompliziert, aber die PHPKIT-Templates (die ich portiere) sind mehr als inkompatibel zu Drupal. Aber das ist Drupal immer noch besser als Joomla. :-)

Es gibt doch auch sowas, wo man für bestimmte Bereiche diese überschreiben kann, z.B. block-0.tpl.php usw. Allerdings habe ich die Funktion nie so richtig verstanden. Kann man diese nicht irgendwie dafür "missbrauchen"?

Signatur:
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja

Eingetragen von md (3717)
am 30.05.2007 - 11:51 Uhr

Du kannst für jeden Block eine eigene Template Datei anlegen. Aber dort steht dir dann nichts anderes zur Verfügung als in der block.tpl.php auch. Hauptsächlich $block->subject und $block->content. Man kann jetzt bspw. für einen bestimmten Block den Titel weglassen. Man kann auch neue CSS Selektoren vergeben. Allerdings stehen einem auch mit einer block.tpl.php für jeden Block unterschiedliche Selektoren zur Verfügung.

Ich kann also nicht sehen, wie dir mehrere Block Templates bei deinem Problem helfen könnte.

Trotzdem ein guter Hinweis. Hatte ich gar nicht dran gedacht.

vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Abfragen des Bereichs in block.tpl.php

Eingetragen von ToaTs (127)
am 30.05.2007 - 11:57 Uhr

Gut, anderer Ansatz.
Nachdem ich wirklich nur $content und $subject brauche, jedoch die Darstellung der Blöcke links und rechts unterschiedlich ist (also anders formatiert), gibt es eine Möglichkeit in der block.tpl.php abzufragen, in welchem Bereich der Block dargestellt wird?
So könne ich abfragen, ob ich in der linken oder rechten Sidebar bin und den entsprechenden HTML-Code zurückgeben.

Oder gibt es noch andere Alternativen, die nur über Template-Dateien zu lösen sind (keine Hacks von Drupal selbst).

---
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dafür

Eingetragen von md (3717)
am 30.05.2007 - 12:01 Uhr

Dafür ist es dann doch am Einfachsten du legst dir eine block-left.tpl.php und eine block-right.tpl.php an.

vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sowas hatte ich doch gesucht

Eingetragen von ToaTs (127)
am 30.05.2007 - 12:07 Uhr

Genau sowas hatte ich ja gesucht. Ist dann also die block-left.tpl.php für die linke Sidebar, und die block-right.tpl.php für die rechte, oder muss ich dafür im Template noch etwas definieren? Das wär natürlich genau die Lösung, die ich haben wollte, wenn sie auch wirklich funktioniert. :-)

---
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com

  • Anmelden oder Registrieren um Kommentare zu schreiben

$block->region

Eingetragen von bv (3924)
am 30.05.2007 - 12:08 Uhr

Du könntest in der block.tpl.php Datei die Regionen (left, right etc.) abfragen und den HTML-Code entsprechend ausgeben.

<?php if ($block->region == 'left') { Dein HTML-Code } ?>

--
bv - drupalcenter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: $block->region

Eingetragen von ToaTs (127)
am 30.05.2007 - 12:54 Uhr
bv schrieb

Du könntest in der block.tpl.php Datei die Regionen (left, right etc.) abfragen und den HTML-Code entsprechend ausgeben.

<?php if ($block->region == 'left') { Dein HTML-Code } ?>

Danke, das würde mein Problem lösen. Noch einfach wäre jedoch die block-left.tpl.php und block-right.tpl.php, sofern diese ohne Drupal-Hacks funktionieren.

EDIT:
Problem gelöst: http://drupal.org/node/104319

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: $block->region

Eingetragen von bv (3924)
am 30.05.2007 - 13:07 Uhr
ToaTs schrieb

Noch einfach wäre jedoch die block-left.tpl.php und block-right.tpl.php, sofern diese ohne Drupal-Hacks funktionieren.

Klar, das funktioniert ohne Hacks. Einfach Dateien erzeugen und loslegen... :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke an alle

Eingetragen von ToaTs (127)
am 30.05.2007 - 13:08 Uhr

Danke nochmal an alle für die Hilfe!

ToaTs
--
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com

  • Anmelden oder Registrieren um Kommentare zu schreiben

siehe: Handbuch

Eingetragen von stBorchert (6003)
am 30.05.2007 - 22:36 Uhr

Moin!
Mal schnell ins Handbuch geschaut:
$block->region gibt an, in welcher Region der Block angezeigt wird (in Deinem Fall ist da also 'left', bzw. 'right' wichtig).
Somit kannst Du in der block.tpl.php je nach Seite unterschiedliche HTML-Ausgabe generieren lassen:

<?php
if ($block->region == 'left') {
  if (
$block->subject)
    print
'<h2>' . $block->subject . '</h2>';
  print
'<div class="block-content">' . $block->content . '</div>';
}
else if (
$block->region == 'right') {
  print
'<div id="' . $block->id . '">';
  if (
$block->subject)
    print
'<div class="block-subject">' . $block->subject . '</div>';
  print
$block->content;
  print
'...was auch immer...';
  print
'</div>';
}
?>

nur mal so als (ungetestetes) Beispiel.

hth,

Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Hey, pal, don't miss this epic article — it's packed with mind-blowing design and just plain amazing content!
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 4 Tagen
  • Wenn die Subdomain auf
    vor 1 Woche 5 Tagen
  • ordnerstruktur
    vor 1 Woche 6 Tagen
  • Die Subdomain muß auf den
    vor 2 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 20 Stunden
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20518

Neue User:

  • Mropfizzaneld
  • Wolf Dab
  • Scottteday

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 25 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association