Aufruf von Lightbox bei Onlick?

hinkel11

Mitglied
Hallo,

ich hab auf meiner HP eine Art Slideshow-Komponente installiert. Wenn man dort auf einen Slide klickt, öffnet sich für gewöhnlich die damit verlinkte Seite in einem neuen Browserfenster. Ich hätte es nun jedoch gern so, dass sich die Seite stattdessen in einer lightbox öffnet.

Normalerweise bewerkstellige ich dies immer, indem ich im <a>-Tag ein rel="lightbox" einfüge und fertig iss. Doch in diesem Fall ist das ganze diesmal per Javascript codiert und da sich meine Javascript-Kenntnisse nun echt in Grenzen halten, krieg ichs irgendwie nicht hin.

Der betreffende Stelle im Code sieht wie folgt aus:
Code:
<a class="navbutton off navi" href="javascript:void(0);"';
	if ($rotateAction=='mouseover') {$navhtml .= ' onclick="parent.location=\''.$link.'\';return false;"';}

Ich hatte versucht das href="javascript:void(0);" einfach durch ein rel="lightbox" zu ersetzen. Klappt aber nicht - die Seite wird trotzdem in einem neuen Fenster geöffnet.
 
Moin,

anhand dieses kleinen Schnipsels, der noch dazu PHP-Code enthält, lässt sich kaum etwas sagen. Ist das irgendwo online?
Ich würde auf jeden Fall zusätzlich zu dem, was du bereits gemacht hast, diese onclick-Anweisung entfernen.
 
Eine Demo dieser Komponente gibt hier (nicht meine Seite):
http://www.frontpageslideshow.net/

Was ich nun bisher geschafft habe ist, dass sich der Inhalt in einer lightbox öffnet, wenn man auf den Slide klickt, und auch wenn man auf den Mehr-Button klickt.

Das gleiche soll nun auch passieren, wenn man rechts in der Navigation auf ein Thumbail klickt.

Hier mal ein größerer Auszug vom Code:
Code:
		// Slide 'read more' link
		if ($show_readmore && !$image->nolink) {
			$thecontent .= "<a".$target." href=\"".$link."\" rel=\"shadowbox;width=400;height=300\" class=\"readon\">".JText::_('MORE')."</a>\n";
		}

		/* --------------------- SLIDE OUTPUT --------------------- */
		$html .= '
	<div class="slide">
		<div class="slide-inner">
			<a'.$target.' href="'.$link.'" rel="shadowbox;width=400;height=300" >
				<span>
					<span style="background:url('.$mosConfig_live_site.'/'.$image->path.') no-repeat;">
						<span>
							<img src="'.$mosConfig_live_site.'/'.$image->path.'" alt="'._FPSS_MOD_IMGALT.'" />
						</span>
					</span>
				</span>
			</a>
			<div class="fpss-introtext"'.$hidecontent.'>
				<div class="slidetext">'.$thecontent.'</div>
			</div>
		</div>
	</div>
		';
			
		/* --------------------- NAVIGATION OUTPUT --------------------- */	
		$tagline = strip_tags($image->plaintext);
		$key = $key + 1;
		if ($key < 10) { $key = "0".$key; }
		if($image->thumb){$navImg = $mosConfig_live_site.'/'.$image->thumb;} else {$navImg = $mosConfig_live_site.'/'.$image->path;}
		$navhtml .= '
			<li>
				<a class="navbutton off navi" href="javascript:void(0);"';
				if ($rotateAction=='mouseover') {$navhtml .= ' onclick="parent.location=\''.$link.'\';return false;"';}
				$navhtml .= '>
					<span class="navbar-img"><img src="'.$navImg.'" alt="'._FPSS_MOD_CLICKNAV.'" /></span>
					<span class="navbar-key">'.$key.'</span>
					<span class="navbar-title">'.$slidetitle.'</span>
					<span class="navbar-tagline">'.$tagline.'</span>
					<span class="navbar-clr"></span>
				</a>
			</li>
		';				

		if($limitslides) {$i++;}
		$div_id++;
 
Versteh ich nicht. Es dachte eigentlich es ginge nur um diese beiden Zeilen hier und wo ich das mit dem rel="shadowbox" (also lightbox) einfügen muss.

Code:
<a class="navbutton off navi" href="javascript:void(0);"';
				if ($rotateAction=='mouseover') {$navhtml .= ' onclick="parent.location=\''.$link.'\';return false;"';}
				$navhtml .= '>
 
Es geht darum, dass Lightbox etwas öffnet, was bei einem Link als Ziel angegeben ist.
Ich kann nicht hellsehen, was dein PHP-Code da im Endeffekt an Ausgabe produziert.

Eines ist aber auf jeden Fall klar, es geht nicht um PHP-Code, also bringt es nichts, wenn du welchen postest.
 
In der lightbox wird in meinem Beispiel eine externe Seite geöffnet. Hier ist es "google.de". Durch welchen Parameter das definiert wird keine Ahnung. Ich weis nur, dass ich "google.de" als URL im Joomla-Backend eingegeben habe.
 
Wäre es sehr umständlich, sich im Browser den Quelltext der Seite anzeigen zu Lassen, und die betreffende Passage hier zu Posten?

Das ist es nämlich, womit JS arbeitet...sonst nichts.
 
Nun all das aus dem Seitenquelltext was damit irgendwie zu tun hat lautet wir folgt:
Code:
<!-- JoomlaWorks "Frontpage Slideshow" v2.0.0 starts here -->
<style type="text/css" media="all">
<!--
	@import "http://www.corona-gehren.de/main/modules/mod_fpss/mod_fpss/templates/Movies/template_css.php?w=500&h=300&sw=200";
//-->	
</style>
	
<!--[if lte IE 7]>
<style type="text/css" media="all">
	@import "http://www.corona-gehren.de/main/modules/mod_fpss/mod_fpss/templates/Movies/template_css_ie.css";
</style>	
<![endif]-->

	
<script type="text/javascript" src="http://www.corona-gehren.de/main/modules/mod_fpss/mod_fpss/engines/mootools-fpss.php"></script>
	
<script type="text/javascript">
<!--
	var fpssPlayText = "Play";
	var fpssPauseText = "Pause";
	var crossFadeDelay = 6000;
	var crossFadeSpeed = 2000;
	var fpssLoaderDelay = 800;
	var navTrigger = "mouseover";
	var autoslide = true;
	
	var CTRtransitionText = 1000;	
	var CTRtext_effect = true;
	
//-->
</script>	
<!-- JoomlaWorks "Frontpage Slideshow" v2.0.0 ends here -->

Wird wohl nicht weiterhelfen.
Ansonsten könnte ich noch die mootools-fpss.php anbieten. Dort steht auch nicht viel drin:
Code:
<?php

ob_start ("ob_gzhandler"); 
header("Content-type: text/javascript; charset: UTF-8"); 
header("Cache-Control: must-revalidate"); 
$offset = 60 * 60 ; 
$ExpStr = "Expires: " .  
gmdate("D, d M Y H:i:s", 
time() + $offset) . " GMT"; 
header($ExpStr);
include("mootools-comp.js");
echo "\n\n";
include("mootools-fpss-comp.js");
ob_flush();

?>

Es geht wie gesagt nur um die Stelle, wo das mit rel="shadowbox" hin muss und was evtl. dafür gelöscht werden muss.
 

Neue Beiträge

Zurück