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

  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 4 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 8 Stunden
  • In der entsprechenden View
    vor 3 Wochen 8 Stunden
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 8 Stunden
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 10 Gäste online.

Benutzer online

  • wla

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