hallo forum,
ich suche nach einem weg, um auf einer seite mehrere lightboxen einzufügen, die dann jeweils eine andere farbe als overlay haben...
hat jemand vielleicht einen tip wie dies funktionieren könnte?
besten dank
.christoph
hallo forum,
ich suche nach einem weg, um auf einer seite mehrere lightboxen einzufügen, die dann jeweils eine andere farbe als overlay haben...
hat jemand vielleicht einen tip wie dies funktionieren könnte?
besten dank
.christoph
Das wird ohne Script Anpassung nicht gehen.
Dazu müsstest du in dem Lightbox Script eine zusätzliche Abfrage hinzufügen und dem Overlay Div eine zusätzliche Klasse oder eine Style Eigenschaft zufügen bzw. die Farbe über die Style Eigenschaft ändern.
Gruß
Nikolas
OK, danke für den tip, da werd ich wohl um javascript nicht drumherum kommen...
da ich nicht wirklich fit bin in javascript, wie müßte diese abfrage grob aussehen?
wer super dankbar für etwas hilfe...
grüße
Dazu wirst du dir ein Javascript schreiben müssen das zuerst die Overlay-Farbe ändert und dann die Lightbox aufruft.
Was anderes fällt mir für ein und die selbe Seite nicht ein
@psi
das klingt logisch, mein problem ist das ich erst am anfang meiner javascript karriere stehe, ich hätte (aus mangel an anderen lösungen) verschiedene farbige divs über die ganze seite gelegt, opacity bei allen auf 0, und dann per mootools fx.tween nach dem onmousedown auf dem lightbox link das gewünschte div eingeblendet...
das overlay der lightbox4ward hätte ich standartmäßig auf visibility:hidden; gesetzt...
gibt es da ne elegantere lösung?
herzlichen dank
.christop
Das klingt irgendwie kompliziert
Eine wichtige Frage noch vorab - wie sehn deine Lightbox-Links aus? Verwendest du die Inhaltselemente der Lightbox4ward?
Ich benutze die Inhaltselemente der Lightbox4ward, als bildlink der auf eine galerie verlinkt ist...
Phui schwierig. Ich würde wohl das Template ce_lightbox4ward_image.tpl anfassen und:
- Den <?php echo $this->target; ?> entfernen (hier steht das onclick... drin) und durch den aufruf einer eigenen Funktion ersetzen
- Die eigene Funktion ändert nach irgendeiner Logik die Farbe von #mbOverlay
- und ruft danach die Funktion aus $this->target; auf.
OK, verstehe ich aber weiß ehrlich gesagt nicht genau wie ichs umsetzten kann, wär es für dich ein hoher aufwand mich dabei zu unterstützen, da ich diese funktion der lightbox unbedingt brauche, oder gibt es was auf deiner wunschliste was du unbedingt brauchst? ;-)
vielen dank aber schonmal für deine tips!
.christoph
Die Farbe musst du natürlich noch ersetzen.PHP-Code:
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if ($this->headline): ?>
<<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
<?php endif; ?>
<div class="image_container">
<?php echo $this->embed_pre; ?><a href="<?php echo $this->href; ?>" class="hyperlink_img" title="<?php echo $this->title; ?>"<?php if ($this->rel): ?> rel="<?php echo $this->rel; ?>"<?php endif; ?> onclick="colorLightbox<?php echo $this->id;?>();return false"><img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" title="<?php echo $this->title; ?>" /><span class="loupe"></span></a><?php echo $this->embed_post; ?>
<?php if ($this->caption): ?>
<div class="caption"><?php echo $this->caption; ?></div>
<?php endif; ?>
</div>
<?php echo $this->js;?>
</div>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function colorLightbox<?php echo $this->id;?>(){
// Farbe ändern
$('mbOverlay').setStyle('background-color','#FF00FF');
<?php
$openMediaboxJS = $this->target;
// "Wegschrubben (c) by Xtra" von onclick="
$openMediaboxJS = substr($openMediaboxJS, strpos($openMediaboxJS,'"')+1);
$openMediaboxJS = substr($openMediaboxJS,0, strrpos($openMediaboxJS,'"'));
// Mediabox öffnen-javascript von Lightbox4ward aufrufen
echo " $openMediaboxJS";
?>
}
//--><!]]>
</script>
Hierzu könntest du vllt die Variable "$this->class" nutzen
hey psi,
erstmal ein dickes, dickes dankeschön für deine hilfe!
http://www.davidfischer.org/testumge...p/home_02.html
jetzt öffnet sich bei jedem link immer die lightbox4ward die als letze auf der seite eingebunden ist, an was könnte das liegen?
verstehe ich leider nicht ganz, soll ich dem bildlink eine klasse mitgeben?Hierzu könntest du vllt die Variable "$this->class" nutzen
beste grüße und vielen dank!
.christoph
Letzte Lightbox -> <?php echo $this->id;?> vergessen einzutippen.
Im Template gibts unter $this->class die Klassen die du beim Inhalteselement im Backend eintippst. Hier könntest du dir Keywords für Farben ausdenken:
PHP-Code:
<?php
if(strpos($this->class,'lightboxRot')) $farbe = "#FF0000";
if(strpos($this->class,'lightboxGrün')) $farbe = "#00FF00";
if(strpos($this->class,'lightboxBlau')) $farbe = "#0000FF";
?>
hey psi,
das mit den farben hab ich verstanden! super...
aber das mit der letzten lightbox erschließt sich mir noch nicht ganz...
wo habe ich vergessen etwas einzutippen?
vielen dank!
Sorry mein Fehler, ich hab da zuviel erwartet
nimm das:
PHP-Code:
<?php
// Farbe wählen
if(strpos($this->class,'lightboxRot')) $farbe = "#FF0000";
if(strpos($this->class,'lightboxGrün')) $farbe = "#00FF00";
if(strpos($this->class,'lightboxBlau')) $farbe = "#0000FF";
// "Wegschrubben (c) by Xtra" von onclick="
preg_match("~(lightbox4ward)(\d+)\(\);~i",$this->target,$erg);
$openMediaboxJS = $erg[1].$erg[2].'();';
$id = $erg[2];
?>
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if ($this->headline): ?>
<<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
<?php endif; ?>
<div class="image_container">
<?php echo $this->embed_pre; ?><a href="<?php echo $this->href; ?>" class="hyperlink_img" title="<?php echo $this->title; ?>"<?php if ($this->rel): ?> rel="<?php echo $this->rel; ?>"<?php endif; ?> onclick="colorLightbox<?php echo $id;?>();return false"><img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" title="<?php echo $this->title; ?>" /><span class="loupe"></span></a><?php echo $this->embed_post; ?>
<?php if ($this->caption): ?>
<div class="caption"><?php echo $this->caption; ?></div>
<?php endif; ?>
</div>
<?php echo $this->js;?>
</div>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function colorLightbox<?php echo $id;?>(){
// Farbe ändern
$('mbOverlay').setStyle('background-color','<?php echo $farbe;?>');
<?php // Mediabox öffnen-javascript von Lightbox4ward aufrufen
echo $openMediaboxJS;
?>
}
//--><!]]>
</script>
hey psi,
perfekt, läuft super!
danke für deine schnelle hilfe!
liebe grüße aus berlin
.christoph
Das macht dann 2,50
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen