Joomla! Programmierung/Framework/JHtmlBehavior/modal
Aus Joomla! Dokumentation
Inhaltsverzeichnis |
[Bearbeiten] Beschreibung
JHTMLBehavior/modal läd alle benötigten Javascriptdateien in den <head></head> um eine Modalbox (Lightbox) darstellen zu können.
[Bearbeiten] Syntax
static modal( [$selector], [$params] )
| Parameter | Datentyp | Beschreibung | Standardwert |
|---|---|---|---|
| $selector | string | Der Tag und die Klasse, auf die das Modal angewandt werden soll. | a.modal |
| $params | array | Parameter für die Javascriptklasse. Werden als array ('name'=> 'wert') übergeben. | array() |
[Bearbeiten] Beispiele
[Bearbeiten] Modal auf Link anwenden
<?php JHtml::_('behavior.modal'); ?> <!-- Eine Seite in der Modalbox laden --> <a href="http://www.joomla.org" title="Joomla!.org" class="modal" rel="{handler: 'iframe'}">Joomla!.org</a> <!-- Eine Seite mit einer bestimmten Größe in der Modalbox laden --> <a href="http://www.joomla.org" title="Joomla!.org" class="modal" rel="{handler: 'iframe', size: {x: 570, y: 200}}">Joomla!.org</a> <!-- Ein Bild in der Modalbox laden --> <a href="http://cdn.joomla.org/images/logo.png" title="Joomla! Logo" class="modal"> <img src="http://cdn.joomla.org/images/logo.png" alt="Joomla! Logo" /> </a>
[Bearbeiten] CSS
Die CSS-Einstellungen finden sich unter \media\system\css\modal.css (in Joomla! 1.5.12):
.body-overlayed embed, .body-overlayed object, .body-overlayed select { visibility: hidden; } #sbox-window embed, #sbox-window object, #sbox-window select { visibility: visible; } #sbox-overlay { position: absolute; background-color: #000; } #sbox-window { position: absolute; background-color: #000; text-align: left; overflow: visible; padding: 10px; -moz-border-radius: 3px; } * html #sbox-window { top: 50% !important; left: 50% !important; } #sbox-btn-close { position: absolute; width: 30px; height: 30px; right: -15px; top: -15px; background: url(../images/closebox.png) no-repeat top left; border: none; } .sbox-loading #sbox-content { background-image: url(../images/spinner.gif); background-repeat: no-repeat; background-position: center; } #sbox-content { clear: both; overflow: auto; background-color: #fff; height: 100%; width: 100%; } .sbox-content-image#sbox-content { overflow: visible; } #sbox-image { display: block; } .sbox-content-image img { display: block; } .sbox-content-iframe#sbox-content { overflow: visible; }
[Bearbeiten] Quellcode
{ // Load the necessary files if they haven't yet been loaded { // Include MooTools framework self::framework(); // Load the javascript and css } { return; } // Setup options object // Attach modal behavior to document $document ->addScriptDeclaration( " window.addEvent('domready', function() { SqueezeBox.initialize(" . $options . "); SqueezeBox.assign($$('" . $selector . "'), { parse: 'rel' }); });" ); // Set static array self::$loaded[__METHOD__][$sig] = true; return; }