Den rechten Menü Block bei Bedarf überschreiben
am 23.09.2008 - 09:45 Uhr in
Hallo,
ich baue gerade meine erste Drupal Seite auf und hänge zur Zeit an einem kleinen Problem. Mit der Suchen Funktion bin ich bis jetzt noch nicht weiter gekommen. Vielleicht stelle ich auch einfach die falschen Suchwörter für mein Problem.
Also meine Drupal Seite hat einen linken und einen rechten Menü Block. In die Seite habe ich ein SMF Forum integriert das auch wunderbar in der Seitenmitte arbeitet.
Leider ist das SMF Forum mit seinen ganzen Funktionen einfach zu wuchtig. Deshalb würde ich gerne für das Forum den rechten Menü Bereich ausblenden so lange der User das Forum benutzt und es wieder einblenden sobald er einen anderen Link aufruft.
Ist dies irgendwie möglich in Drupal?
- Anmelden oder Registrieren um Kommentare zu schreiben

Blöcke
am 23.09.2008 - 09:55 Uhr
Moin!
...Deshalb würde ich gerne für das Forum den rechten Menü Bereich ausblenden so lange der User das Forum benutzt und es wieder einblenden sobald er einen anderen Link aufruft.
Ist dies irgendwie möglich in Drupal?
Klar doch.
Du kannst für jeden Block einstellen auf welchen Seiten er (nicht) erscheinen soll. Einstellen kannst Du das in der Block-Konfiguration ([admin/build/block]).
hth,
Stefan
Sorry,ich glaube das ich
am 23.09.2008 - 10:13 Uhr
Sorry,
ich glaube das ich meine Frage etwas falsch formuliert habe.
Ich meinte nicht die Blöcke sondern die Komplette rechte Seitenleiste wo die Blöcke mit drin sind.
Wenn ich alle Blöcke Ausblende bleibt die rechte Seitenleiste immer noch sichtbar, allerdings ohne Inhalt.
Collapsible Right Sidebar. Richtig?
am 23.09.2008 - 10:23 Uhr
Du meinst also eine nach Bedarf collapsible Right Sidebar. Richtig?
Beipielimplementierung einer solchen bedarfsweise collapsiblen Right Sidebar: http://drupal6.quiptime.com/
Die Collapsfunktion wird sichtbar wenn man sich mit der Maus an der rechten Sidebar bewegt.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
sidebar
am 23.09.2008 - 10:29 Uhr
..sidebar ein/ausblenden... Auch eine schicke Möglichkeit. Das kann man dann bestimmt auch noch in der page.tpl.php so steuern, dass für bestimmte Pfad die Seitenleiste initial ausgeblendet ist.
btw.: neues Layout für die Testseite? Schick.
Stefan
Ja, genau!Nur sollte das
am 23.09.2008 - 10:33 Uhr
Ja, genau!
Nur sollte das automatisch gehen ohne das der User erst draufklicken muß.
Hier ist der Link zu meiner Seite mit dem eingebauten Forum.
http://web1202.freeweb.webhoster.ag/soundgarden/?q=smfforum
Aufgerufen wird das Forum zur Zeit noch über das Drop Down Menü des Home Buttons (Funktioniert noch nicht im IE).
@stBorchert, Ja und Danke. :-)
am 23.09.2008 - 10:38 Uhr
btw.: neues Layout für die Testseite? Schick.
Ja und Danke. :-)
Die Collapsi Funktionalitaet der Sidebar ist eine jQuery Loesung. Genau, Varianten der Collapsifunktion koennte man natuerlich auch ueber die "page.tpl.php" derart steuern das bei bestimmten URL's oder Nodetypes, also bestimmten Zustaenden der Website, die Sidebar bereits weggeklappt ist.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Okay, was muss ich in der
am 23.09.2008 - 10:42 Uhr
Okay,
was muss ich in der page.tpl.php ändern um diesen Effekt zu erzielen?
individuelle Loesung - auf die jeweilige Website zugeschnitten
am 23.09.2008 - 11:38 Uhr
was muss ich in der page.tpl.php ändern um diesen Effekt zu erzielen?
Das ist etwas komplexer als nur eine Aenderung in der page.tpl.php.
Wie gesagt, meine Loesung basiert auf jQuery. Auch wuerde Dir mein JQyery Code nur bedingt weiterhelfen. Es sei denn Du verwendest das gleiche Theme mit der gleichen Konfiguration dieses Themes wie in meinem Beispiellink zu meiner Drupal-Testseite.
Die Collapsifunktion, angewendet auf Sidebars, ist ein Zusammenspiel der HTML Tags des jeweils verwendeten Themes, jQuery Code und CSS Formatierungen. Bei Deinem Anwendungsfall kommt noch PHP Code (in der page.tpl.php) hinzu.
Insgesamt also ist meine "Collapsi Right Sidebar" eine individuelle Loesung und auf meine Drupal Website zugeschnitten.
Deswegen kann ich Dir keinen Code posten den Du einfach in der page.tpl.php eintraegst.
Um Dir eine annaehernde Vorstellung der Komplexitaet zu geben befindet sich, als Teil meines Loesungsansatzes fuer Deine eigene Loesung, der jQuery Code meiner Implementierung der "Collapsi Right Sidebar" im Anhang.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Ich dachte das würde etwas
am 23.09.2008 - 12:02 Uhr
Ich dachte das würde etwas leichter gehen. Meine Idee war es einfach ein anderes Template wo die rechte Leiste komplett fehlt einfach drüber zu legen.
Template
am 23.09.2008 - 12:14 Uhr
Ich dachte das würde etwas leichter gehen. Meine Idee war es einfach ein anderes Template wo die rechte Leiste komplett fehlt einfach drüber zu legen.
Hah, das geht natürlich auch noch anders. Gar nicht daran gedacht:
in der page.tpl.php fragst Du einfach ab, ob Du gerade das forum anzeigst (
arg(0) == 'forum') und packst die Abfrage um die sidebar.<?phpif (arg(0) != 'forum') {
?>
<div class="sidebar-right">...</div>
<?php
}
?>
Dann hast Du zwar nicht den hübschen Effekt mit Ein-/Ausblenden, jedoch ist die sidebar dann beim Forum weg.
hth,
Stefan
Super vielen Dank, das
am 23.09.2008 - 12:26 Uhr
Super vielen Dank, das scheints zu sein!
Leider kann ich euch erst morgen eine Rückmeldung geben ob es funktioniert hat. Muss jetzt leider erstmal zur Arbeit :)
Ich konnte es mir doch nicht
am 23.09.2008 - 12:42 Uhr
Ich konnte es mir doch nicht verkneifen es noch schnell zu testen.
Es funktioniert leider nur halb. Die rechte Seite ist zwar verschwunden, aber das Forum nimmt sich nicht den neuen freien Platz.
http://web1202.freeweb.webhoster.ag/soundgarden/?q=smfforum
css
am 23.09.2008 - 12:47 Uhr
Die rechte Seite ist zwar verschwunden, aber das Forum nimmt sich nicht den neuen freien Platz.
Du musst natürlich noch eine extra CSS-Klasse an
<div id="col3">anhängen, in der Du den margin anders setzt.Also in die page.tpl.php:
<div id="col3"<?php print ((arg(0) != 'forum') ? '' : ' class="forum-wide") ?>>...</div>und in Deine style.css:
div.forum-wide {margin: 0 0 0 20%;}Das sollte funktionieren.
hth,
Stefan
Hallo, erstmal Sorry für
am 24.09.2008 - 23:05 Uhr
Hallo,
erstmal Sorry für die späte Antwort. Es klappt jetzt so wie ich es mir vorgestellt habe. Vielen Dank für eure Hilfe!