"Using a Region Hook"
am 05.06.2013 - 08:20 Uhr in
Hallo,
ich habe das Modul Block Group (https://drupal.org/project/blockgroup) installiert um mehrere Blöcke gesammelt besser themen zu können. Die angelegte Blockgroup habe ich für die Sidebar angelegt. Leider reicht ist die Breite der Blockgroup weit über die Breite der Sidebar hinaus. Nun steht auf der Seite des Moduls
Theming Block Groups
Because Block Groups technically are regions, you need to target them using the region hooks like hook_preprocess_region. The Region Class module provides an easy way to assign CSS classes to any region on your site, including those defined by block groups.
Wie ich das jedoch umzusetzen habe, ist mir ein Rätsel. Könnte mir dabei jemand helfen?
Oder hat jemand alternativ oder ergänzend eine Idee, wie ich einfacher Blöcke gruppieren könnte?
Vielen Dank im Voraus und viele Grüße!
- Anmelden oder Registrieren um Kommentare zu schreiben

Für Dein Problem braucht es
am 05.06.2013 - 08:59 Uhr
Für Dein Problem braucht es kein Coding, sondern Du brauchst CSS-Kentnisse. Du gibts dann den Blöcken (jeder Block in Drupal hat eine eindeutige ID) eine für die Sidebar passende Breite. Ob Du das Modul Blockgroup dann noch brauchst weiß ich nicht, denn ich kenne es bisher nicht (habe ich bisher offensichtlich nicht vermißt).
Beste Grüße
Werner
Ich habe mich für dieses
am 05.06.2013 - 09:19 Uhr
Ich habe mich für dieses Modul entschieden, weil ich wiederum mit dem Modul "Floating Block" bestimmte Blöcke in der Sidebar fixieren wollte. Das nur über css zu machen war unflexibel, weil es eben nur bestimmte Blöcke betreffen sollte und ich diese eben dafür gruppieren können muss. Whatever.
Natürlich könnte ich künftig jeden Block, den ich gruppieren möchte eine feste Breite geben, dafür wäre aber mit jedem Block ein Zugriff auf die css-Datei von nöten. Da die anderen Administratoren der Seite darauf kein Zugriff haben, wohl aber Blöcke gruppieren können sollen, muss ich eine Lösung finden, die langfristig Perspektive bietet. Diese Perspektive scheint mit dem Modul gegeben. Nur leider verhält es sich nicht so wie ich es will.
Wenn ich es richtig verstanden habe, macht das Modul im Prinzip nichts anderes als Regionen bereitstellen, die als Block einer anderen Zugeordnet werden. Meine Vermutung ist, dass diese Region irgendwie wissen muss, welcher anderen Region sie untergeordnet ist. Zumindest ergibt sich mir das aus dem Zitat, welches ich oben eingefügt habe. Wenn ich es also richtig verstehe, muss ich dafür diesen Hook irgendwo einbauen. Wie das funktioniert, entzieht sich aber nun leider meiner Kenntnis.
Vielleicht nochmal von Seiten
am 05.06.2013 - 11:30 Uhr
Vielleicht nochmal von Seiten des css erklärt.
Das Modul stellt drei DIVs bereit in denen die Blöcke gruppiert werden:
<div id="blockgroup-functions-wrapper" class="blockgroup-functions-wrapper full-width clearfix blockFloat-processed blockFloat-0" style="width: 960px;"><div id="blockgroup-functions" class="region region-blockgroup-functions grid16-5 blockgroup blockgroup-functions grid16-16">
<div id="blockgroup-functions-inner" class="blockgroup-functions-inner inner">
Wenn ich nun mittels Firebug bei DIV "blockgroup-functions-wrapper" die Klasse "full-width" entferne, den Stil in "width: 300px;" (Breite der Sidebar) ändere und bei DIV "blockgroup-functions" "grid16-16" (Volle Breite, was sonst) durch "grid16-5" (Breite der Sidebar) ersetze, passt es.
Meine Frage also, wieso wird den Klassen "grid16-16" und "full-width" bzw. "width= 960px;" zugeordnet? Wie kann ich das beheben?
Diese Kombination sieht für
am 05.06.2013 - 11:55 Uhr
Diese Kombination sieht für mich merkwürdig aus (grid16-5 und grid16-16 beim selben div). Hast Du in Deinem Theme mal in die dort vorliegenden Template-Files geschaut? Was hast Du in der Datei template.php als Preprocess-Funktionen bzw. was tun die? Die falschen Styles werden als letztes in die Reihe gepackt, also hab ich Dein Theme im Verdacht oder eine theme-Funktion in dem Modul.
Beste Grüße
Werner
Sry, Grid16-5 ist ein c&p
am 05.06.2013 - 12:03 Uhr
Sry, Grid16-5 ist ein c&p Fehler. Ursprünglich steht da nur Grid16-16!!!
In meinem Template File steht
am 05.06.2013 - 12:07 Uhr
In meinem Template File steht nur:
<?php
function YOURTHEME_preprocess_page(&$vars) {
// Check to see that the user is not logged in and that we're on the correct page.
if ($vars['user']->uid == 0 && arg(0) == 'user' && (arg(1) == '' || arg(1) == 'login')) {
// Add a custom template-file.
array_unshift($vars['template_files'], 'page-login');
// Add body classes for easier css.
$vars['body_classes'] .= ' userlogin';
}
}
Was gleichbedeutend mit nichts sein sollte. Ich hab tatsächlich kein so rechtes Verständnis wofür ich das brauche und vor allem wie ich es gebrauche. Ist der Verweis auf der Modulseite (den ich oben als Zitat eingefügt habe) nicht eben die template.php betreffend?
Trotzdem bleibe ich bei
am 05.06.2013 - 12:08 Uhr
Trotzdem bleibe ich bei meiner Meinung, da die fehlerhaften Angaben als letztes eingefügt werden. Du solltest Dein Theme mal genauer ansehen bzw. die theme-Funktionen in dem Modul.
Beste Grüße
Werner
Welche Fehlerhaften Angeben
am 05.06.2013 - 12:14 Uhr
Nochmal danke für deine Mühen, aber welche Fehlerhaften Angeben meinst du konkret?
Ich meine, das Modul stellt "Regionen" bereit und ich muss dem Modul irgendwie sagen, wie diese Region aussieht, welche Maße sie hat. So lese ich diesen (sehr kurzen) Text: https://drupal.org/project/blockgroup
Sollte ich damit richtig liegen, möchte ich nur wissen wie ich diese (für mich etwas zu) kurzen Anweisungen Folge leisten kann. Das scheint eine allgemeine Verständnisproblematik meinerseits zu sein.
Vielleicht noch konkreter.
am 05.06.2013 - 12:16 Uhr
Vielleicht noch konkreter. Was könnte mit
you need to target them using the region hooks like hook_preprocess_region.
gemeint sein?
Hast Du das Modul Region
am 05.06.2013 - 12:44 Uhr
Hast Du das Modul [do:regionclass Region Class] wie in der Beschreibung angesprochen denn auch installiert und dort, wie bei diesen Modul beschrieben, die Klassen für die Regionen gesetzt? Das sieht für mich nicht so aus. Ich habe bisher noch keines der beiden Module benutzt und kann darüber hinaus auch nicht weiter helfen.
Beste Grüße
Werner