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: http://redaxo.org/slack/
Benutzeravatar
claudihey
Beiträge: 117
Registriert: 22. Nov 2008, 16:06
Wohnort: Bingen am Rhein
Kontaktdaten: Website

Content Accordeon mit SEO42

23. Jun 2015, 18:09

Hallo zusammen,

habe ein Problem beim Content Accordeon.
Wenn ich auf den Link klicke, um den Text aufklappen zu lassen, springt man immer auf die Startseite http://www.meine-domain.de/#nnn, auch wenn sich der Content z. B. hier befindet: http://www.meine-domain.de/untermenue/seite.html

Code: Alles auswählen

<?php
$id=REX_SLICE_ID;
$idlink=REX_SLICE_ID + 999;
?>

<script type="text/javascript">
$(document).ready(function(){
		$("div #<?php echo $id ?>").hide();
		
		$("#<?php echo $idlink ?>").click(function(){
		$("div #<?php echo $id ?>").slideToggle(600);
								 });
});
</script>

<div id="<?php echo $idlink ?>">
<h3><a href="#<?php echo $id ?>">REX_VALUE[1] </a></h3>
<br/>
<div style="display:none;" id="<?php echo $id ?>">
REX_HTML_VALUE[2]
</div>
</div>
Das Problem muss demnach in folgender Zeile liegen:

Code: Alles auswählen

<h3><a href="#<?php echo $id ?>">REX_VALUE[1] </a></h3>
Ich vermute, dass das was mit dem SEO42 Addon zu tun hat, kenne mich hier aber nicht wirklich aus. Kann jemand helfen?

Danke und liebe Grüße,
Claudia


Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Content Accordeon mit SEO42

23. Jun 2015, 22:26

Hat mis seo42 nix zu tun, es fehlt ein e.preventDefault().
Hier ne bessere Variante:

Code: Alles auswählen

<h3 class="toggler">REX_VALUE[1]</h3>
<div>REX_HTML_VALUE[2]</div>
<script>
// nur einmal ans ende des templates setzen
jquery(function($) {
    var $toggler = $('.toggler');
    $toggler.next().hide();
    $toggler.on('click', function () {
        $(this).next().toggle();
    });
});
</script>

Benutzeravatar
claudihey
Beiträge: 117
Registriert: 22. Nov 2008, 16:06
Wohnort: Bingen am Rhein
Kontaktdaten: Website

Re: Content Accordeon mit SEO42

24. Jun 2015, 19:31

Besten Dank an Euch beide!

Die Ausgabe sieht jetzt wie folgt aus:

Code: Alles auswählen

<p class="trigger<?php echo $id ?>"><a href="<?php echo
rex_getUrl();?>#">REX_VALUE[1]</a></p>
<div class="toggle_container<?php echo $id ?>">
REX_HTML_VALUE[2]
</div>
Das Script so:

Code: Alles auswählen

<script type="text/javascript">// <![CDATA[
$(document).ready( function() {
	$('.trigger<?php echo $id ?>').not('.trigger_active').next('.toggle_container<?php echo $id ?>').hide();
	$('.trigger<?php echo $id ?>').click( function() {
		var trig = $(this);
		if ( trig.hasClass('trigger_active') ) {
			trig.next('.toggle_container<?php echo $id ?>').slideToggle('slow');
			trig.removeClass('trigger_active');
		} else {
			$('.trigger_active').next('.toggle_container<?php echo $id ?>').slideToggle('slow');
			$('.trigger_active').removeClass('trigger_active');
			trig.next('.toggle_container<?php echo $id ?>').slideToggle('slow');
			trig.addClass('trigger_active');
		};
		return false;
	});
});
// ]]></script>

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website AOL

Re: Content Accordeon mit SEO42

30. Jun 2015, 10:41

<script>
// JQUERY ANCHORS & BASE TAG FIX
$("a[href^='\#']").click(function(e){
e.preventDefault();
document.location.hash=this.href.substr(this.href.indexOf('#')+1);
})
</script>

Zurück zu „Allgemeines [R4]“