Wenn ich den Code richtig interpretiere, dann hat der Slider dem Problem schon vorgebeugt, allerdings nur für die Colorbox
PHP-Code:
// Fix missing lightbox links
$(function() {
if(!$.fn.colorbox) {
return;
}
var lightboxConfig = {
loop: false,
rel: function() {
return $(this).attr('data-lightbox');
},
maxWidth: '95%',
maxHeight: '95%'
};
var update = function(links) {
links.colorbox(lightboxConfig);
};
slider.on('rsts-slidestart rsts-slidestop', function(event) {
update(slider.find('a[data-lightbox]'));
});
update(slider.find('a[data-lightbox]'));
});
Außerdem wird die Konfiguration nochmal aufgesetzt. Hier die Konfiguration aus dem Core-Template https://github.com/contao/core/blob/....html5#L14-L18
Da du aber keine Bilder, sondern Seiten in der Box öffnen möchtest, fehlen noch die Optionen
PHP-Code:
iframe: true,
width: '42%',
height: '42%'
Also selbst, wenn du dein j_colorbox mit diesen Optionen erweiterst, hast du es noch nicht in dem Slider. Du musst also Templates anpassen.
Außerdem brauchst du noch ne Fallunterscheidung, damit z.B. nur HREFs mit ".html" am Ende als Iframe gezeigt werden.
PHP-Code:
<script>
(function($) {
$(document).ready(function() {
$('a[data-lightbox]').map(function() {
var isIFrame = $(this).attr('href').split('.').pop() == 'html' ? true : false;
$(this).colorbox({
// Put custom options here
loop: false,
rel: $(this).attr('data-lightbox'),
maxWidth: '95%',
maxHeight: '95%',
iframe: isIFrame,
width: isIFrame ? '60%' : false,
height: isIFrame ? '70%' : false
});
});
});
})(jQuery);
</script>
ps
- Entscheide dich am besten für eine Bibliothek (weil die Colorbox besser ist als die Mediabox, würde ich jQuery nehmen, die meisten Plugins erfordern auch jQuery).
- Lade nur Scripts (j_-Templates) die du auch benötigst.
- Dein HTML hat 33 Fehler.
- Warum hast du 2 zusammengefasste JS-Dateien aus assets/js/?
Lesezeichen