Antwort #1 am: 06. April 2012, 20:07:55
Dafür ist die jQuery_ui viel zu komplex. das geht ganz einfach mit der Basis jQuery-Bibliothek.
Du generierst z.B. folgendes HTML
<div class="YOUR_CLASS">
<h3>Blabla</h3>
<div>DEIN_INHALT</div>
<h3>Blabla</h3<
<iv>DEIN_INHALT</div>
<h3>Blabla</h3<
<div>DEIN_INHALT</div>
<h3>Blabla</h3<
<div>DEIN_INHALT</div>
</div>
(geht natürlich auch mit <p> anstelle von <div>)
und lädst abhängig von der Seite auf der man gerade ist folgendes script in den head-Bereich (/includes/header.php)
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function(){
$(".YOUR_CLASS div").hide();
$(".YOUR_CLASS h3").click(function(){
$(this).next("div").slideToggle(1000).siblings("div:visible").slideUp(1000);
});
});
/* ]]> */
</script>
YOUR_CLASS ist dabei eine von dir vergebene Klasse der du, wie auch allen anderen Elementen im CSS Styles vergibst.
So einfach ist das.
Nach meiner Meinung müsste man auch die product_info_accordeon.html so einfach aufbauen, ohne das komplexe jQuery_ui.
Das ganze kann man noch erweitern, indem man dem Javascript noch folgendes hinzufügt (innerhalb von $(document).ready )
if(hash!=''){
$(hash).bind('click',function(e){e.preventDefault();}).trigger('click');
}
Dann kann man sogar direkt in einen Accordeon-Inhalt hinein linken, indem man den Anker an den Link anhängt.
Also so: LINK#ANKER
Das ganze sollte man eigentlich als Anleitung rausgeben, da es immer so oder so ähnlich verwendbar ist.
Werd ich demnächst mal machen.
Gruß,
noRiddle
*NACHTRAG*
Mit "abhängig von der Seite auf der man gerade ist", meine ich in deinem Fall
if (strpos($PHP_SELF, FILENAME_CONTENT
)) { SCRIPT
} damit nicht immer dieser Code geladen wird, auch wenn er nicht benötigt wird,
(auch wenn das bei dem bisschen Code nicht so gravierend wäre).
*Nochmal NACHTRAG*
Die "1000" im Script sind Millisekunden, da kannst du default-Wert wie "normal", "slow" oder "fast" eingeben oder eben Millisekunden wie "1000" oder "2000" usw. .
*NACHTRAG Nummer drei*
Wenn du die Komponenten klug stylst, sieht das ganze auch noch gut aus, wenn Javascript deaktiviert ist.