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 - 09: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 - 10: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 - 10: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 - 10: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 - 10: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 - 11: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 - 11: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 - 11: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 - 11: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 - 12: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 - 12: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 - 21: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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 6 Tagen 18 Stunden
  • Textboxen mit Tabelle
    vor 1 Woche 1 Stunde
  • Du sollst ja auch keine
    vor 1 Woche 1 Stunde
  • Theme
    vor 1 Woche 2 Stunden
  • Welches Theme benutzt du
    vor 1 Woche 7 Stunden
  • Mit Responsive Raster hatte
    vor 1 Woche 21 Stunden
  • Hallo Alex,um das Häkchen
    vor 1 Woche 1 Tag
  • Modul view_unpublished
    vor 1 Woche 2 Tagen
  • Modul "override node options"
    vor 1 Woche 3 Tagen
  • Im Grunde ist dass ein
    vor 1 Woche 5 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
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