[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Mighty Accordion - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
JBO
Beiträge: 7
Registriert: 18. Dez 2008, 12:42

Mighty Accordion

27. Jan 2009, 15:41

Hallo zusammen.

Ich nutze das Accordion von Jörg Dörr in einem Projekt.

Alles funktioniert hervorragend, aber nu gibt es folgende Anforderung:

Bei Refresh der Seite soll das zuletzt gewählte Accordion (mehrere untereinander) offen bleiben.

In diesem Falle befindet sich ein Kontaktformular in einem Accordion.
Wenn es gesendet wird, gibt es nen Refresh und das Accordion ist wieder zu.

Nu sieht man aber eventelle Fehlermeldungen und die Bestätigung nicht mehr.

Wenn da jemand ne Idee hat, wär das super.

Danke und Gruß JBO

Benutzeravatar
rkemmere
Beiträge: 486
Registriert: 6. Feb 2007, 17:47
Kontaktdaten: Website

27. Jan 2009, 19:02

Hi,

du kannst im form action einfach die URL mit Sprungmarke übergeben.
In dem Fall vielleicht server.tld/#kontakt.

Funktioniert so prächtig ;)

Bsp: http://www.sueden-lounge.de/#Reservierungsformular

Joachim.Dörr
Beiträge: 1403
Registriert: 7. Apr 2006, 01:49
Kontaktdaten: ICQ Website

27. Jan 2009, 20:33

an dieser stelle wäre eine andere klasse gefragt - du bräuchtest da kein accordion sonder ein slider, die javascript klasse dazu müsste in dem zip packet von mir zufinden sein. schau dort einmal rein.

lg
Joachim (nicht Jörg ;) )

JBO
Beiträge: 7
Registriert: 18. Dez 2008, 12:42

27. Jan 2009, 20:56

Asche über mein Haupt Joachim :roll:

Und vielen Dank Ronny :D

Die Sprungmarke is nu drin, wird aber nich aufgerufen.
Liegt also an der Klasse sagst Du.

Dann versuch ich mal das Accordion gegen den Slider einzutauschen.

Danke Euch beiden!

Gruß Jörn

EDIT: STOP Ronny hat das doch auch mit dem Accordion auf seiner Seite, oder doch nich?!?.

Wie hast denn das bitte gemacht?!?

Benutzeravatar
rkemmere
Beiträge: 486
Registriert: 6. Feb 2007, 17:47
Kontaktdaten: Website

27. Jan 2009, 21:49

Wir haben dort ebenfalls das Accordion im Einsatz.
Das Do Form haben wir um eine Sprungmarke erweitert.

Code: Alles auswählen

# Anpassungen für Sueden-Lounge.de 
# Erweiterung um #Artikelname
$submitjumplabel = "REX_VALUE[10]"; 

Code: Alles auswählen

#Ausgabe Kopf
$out = ' 
   <div  class="formgen"> 
   <form id="'.$formname.'" action="'. $_SERVER["REQUEST_URI"].$submitjumplabel.'" '.$acharset.' method="post"> 
      <input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" />'; 
Und noch Anpassungen am JS.

Code: Alles auswählen

var found = 0;
$$('h3.toggler a').each(function(link, i){
	if (window.location.hash.test(link.hash)) found = i;
});
myAccordion.display(found);
vor dem du das domeredy schließt also unter

Code: Alles auswählen

var myAccordion  = new Accordion(togglers, stretchers, { 
... 
});
Hatte doch damals das selbe Problem: http://forum.redaxo.de/sutra60070.html#60070

JBO
Beiträge: 7
Registriert: 18. Dez 2008, 12:42

27. Jan 2009, 23:43

Ja den Beitrag hab ich schon nicht verstanden. :?

Sobald ich den domeredy schließe, sind die Accordions alle permanent offen

Code: Alles auswählen

<script type="text/javascript">
	var stretchers = $$('div.accordion');
	var togglers = $$('h3.toggler');

	stretchers.setStyles({'height': '0', 'overflow': 'hidden'});

	window.addEvent('load', function(){

		//initialization of togglers effects

		togglers.each(function(toggler, i){
			toggler.color = toggler.getStyle('background-color');
			toggler.$tmp.first = toggler.getFirst();
			toggler.$tmp.fx = new Fx.Style(toggler, '#ffffff', {'wait': false, 'transition': Fx.Transitions.Quart.easeOut});
		});


		//the accordion

		var myAccordion = new Accordion(togglers, stretchers, {
			'alwaysHide': true,

			'opacity': true,

			'start': true,
			'transition': Fx.Transitions.Quad.easeOut,

			onActive: function(toggler){
				toggler.$tmp.fx.start('');
				toggler.$tmp.first.setStyle('#ffffff', '#000');
			},

			onBackground: function(toggler){
				toggler.$tmp.fx.stop();
				toggler.setStyle('background-color', toggler.color).$tmp.first.setStyle('#ffffff', '#f69e3a');
			});


var found = 0;
$$('h3.toggler a').each(function(link, i){
if (window.location.hash.test(link.hash)) found = i;
});
myAccordion.display(found);



		});

		});







</script>
Hab ichs doch falsch gesetzt?!?

Die Action funktioniert, wenn der Toogler den auch immer so heißt.

Code: Alles auswählen

<div  class="formgen">
   <form id="'.$formname.'" action="'. $_SERVER["REQUEST_URI"].'#Kontaktformular" '.$acharset.' method="post">
      <input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" />';

JBO
Beiträge: 7
Registriert: 18. Dez 2008, 12:42

28. Jan 2009, 09:48

Ja jetzt hab ich es doch verstanden :D

ABER, nu is das/der erste Acoordion/Slider immer offen.

Kann ich das irgendwie verhindern bitte?!?

Merci und Gruß JBO

Joachim.Dörr
Beiträge: 1403
Registriert: 7. Apr 2006, 01:49
Kontaktdaten: ICQ Website

28. Jan 2009, 11:52

Das müsstest Du natürlich Anweisen - aber dann funktioniert deine Sprungmarke ja nicht mehr - denn das javascript muss diese ja öffnen können - wenn du ihm sagst öffne nicht, dann öffnet es auch nicht deine angewiesene Sprungmarke

Code: Alles auswählen

         'start': false, 
Kannst ja austesten was passiert / Du könntest dir natürlich auch was basteln mit php z.b. übergibst du wenn du ne Sprungmarke brauchst dann auch etwas per get -> eine variable die in dein javascript eingreift.

lg
Joachim

JBO
Beiträge: 7
Registriert: 18. Dez 2008, 12:42

28. Jan 2009, 12:12

Vielen Dank Joachim.

Dann lebt das Projekt damit, dass der erste immer offen ist. :wink:
False und jede andere Manipulation an der var hat zur Folge, dass alle Slider immer offen sind.

Merci und Gruß JBO

Masche
Beiträge: 4
Registriert: 11. Aug 2006, 15:16
Wohnort: Bonn

4. Mär 2009, 13:39

Hallo zusammen,

ich habe mir diesen Thread genau durchgelesen, steige aber noch nicht ganz durch wie man das Accordion ändern kann. ICH würde es gerne so abändern, dass alle Slider beim Seitenaufruf geschlossen sind. Ist dies machbar? Falls ja wäre es super, wenn mir jemand sagen könnte was ich wo äbandern mus.

Tausend Dank!!!

Grüße
Martin

Tizian
Beiträge: 151
Registriert: 4. Apr 2008, 11:58
Wohnort: Bremen
Kontaktdaten: Website

18. Mai 2009, 13:22

hallo martin,

um alle slider am anfang geschlossen zu halten musst du im javascript (mootools.acc.js)

Code: Alles auswählen

'start': false,
ändern auf

Code: Alles auswählen

'start': true,
gruß
schöne grüße
tizian
********************************
ansichtsache TM

Zurück zu „Allgemeines [R4]“