[gelöst] Ansatz für Block mit Menüpunkt
am 03.08.2013 - 09:04 Uhr in
Hallo in die Runde,
ich brauch mal einen Denkanstoß. Ich möchte einen Block für die Sucheingabe im Content-Bereich, oberhalb des eigentlichen Inhalts, ein- und ausblenden. Das ein- und ausblenden soll über einen Klick auf den Punkt "Suchen" im Hauptmenü erfolgen. Wie könnte man so etwas angehen? Genereller geht es einem Block einen Menüpunkt zu geben und diesen dann per html/css immer bei Klick "einblenden" id=sichtbar und bei Klick ausblenden id = unsichtbar zu geben? Oder auch per js?
Die Anforderung ist so dass der Inhalt sich nach unten verschieben soll wenn das suchfeld eingeblendet wird, deswegen musste ich den Weg das mit dem Popup module zu lösen wieder verlassen.
Vielen Dank für Hinweise!
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
nur mal so ins Unreine
am 03.08.2013 - 09:33 Uhr
ein Block hat einen definierten Tag, dessen display Eigenschaft sich per JS modifizieren lässt.
Grüße
Ronald
danke
am 03.08.2013 - 09:39 Uhr
was mir aber vollkommen unklar ist, wie muss der menüpunkt sein, das ich genau das ansprechen kann? Also wenn ich einen drupal menüpunkt anlege oder im modul baue muss ich doch immer einen pfad angeben, wie muss der aussehen?
Matthias Weinhold, Geschäftsführer
module-7 GmbH
Kavalierstraße 19
13187 Berlin, Deutschland
Telefon: +49 30 6920399-72
Fax: +49 30 6920399-79
E-Mail: m.weinhold@module-7.com
www.module-7.com
Mit dem Modul
am 03.08.2013 - 10:13 Uhr
Mit dem Modul [do:special_menu_items] kannst Du
<nopath>
als Pfad angeben. Das wird als<span>...</span>
umgesetzt. Diesen Span kannst Du in jQuery ansprechen über#blockid > ul > li > span
. Wie das genau aussieht, solltest Du Dir im Quellcode der Seite (z.B. mit Firebug) ansehen. In jQuey definierst Du dann auf den Span ein click-Event, der ein display:block; des Blockes erzeugt (Im CSS stellst Du den Block auf display:none;) und einen Toggle, so daß bei einem erneuten Klick auf den Span ein display:none; für den Block gesetzt wird.Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
mweinhold schrieb was mir
am 03.08.2013 - 14:25 Uhr
was mir aber vollkommen unklar ist, wie muss der menüpunkt sein, das ich genau das ansprechen kann? Also wenn ich einen drupal menüpunkt anlege oder im modul baue muss ich doch immer einen pfad angeben, wie muss der aussehen?
In den Blockeinstellungen kannst du definieren, wo der Block angezeigt werden soll. Mit dem Modul Block Class kannst du dem Block eigene CSS Klassen verpassen. Darauf kannst du dann dein JS anbringen. Hilft dir das weiter?
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
Anregungen
am 04.08.2013 - 09:09 Uhr
vielen Dank für die Anregungen! Ich komme leider erst nächste Woche dazu es zu probieren.
Matthias Weinhold, Geschäftsführer
module-7 GmbH
Kavalierstraße 19
13187 Berlin, Deutschland
Telefon: +49 30 6920399-72
Fax: +49 30 6920399-79
E-Mail: m.weinhold@module-7.com
www.module-7.com
Problem gelöst
am 05.08.2013 - 19:33 Uhr
Ich habe das Modul "special menu items" installiert, dort einen Menüpunkt mit Pfad
<nolink>
angelegt. special menu items ist so konfiguriert, dass es<span class="toggle">
um den Menüeintrag legt. Danach ein kurzes Javascript in meiner general.js:(function ($) {
$(document).ready(function() {
$("#toogle").click(function () {
if ($('#block-css-id').is(":visible")) {
$(this).html($(this).html().replace(/Hide/, 'Show'));
} else {
$(this).html($(this).html().replace(/Show/, 'Hide'));
}
// Do it afterwards as the operation is async
$("#block-css-id").slideToggle("slow");
});
});
})(jQuery);
Vielen Dank für die Kommentare! Hat mir viel Zeit gespart!
Beste Grüße
Matthias
Matthias Weinhold, Geschäftsführer
module-7 GmbH
Kavalierstraße 19
13187 Berlin, Deutschland
Telefon: +49 30 6920399-72
Fax: +49 30 6920399-79
E-Mail: m.weinhold@module-7.com
www.module-7.com