私はJoomlaの経験があまりありません。だからこそ、あなたのアドバイスが必要です。アイデアは、システム メッセージをポップアップで表示することです。
ソリューション:
1.この div は必要ないため、libraries\joomla\document\html\renderer\message.php ファイルの次の行を削除しました。
$buffer .= "\n<div id=\"system-message-container\">";
$buffer .= "\n</div>";
2. index.php で置き換えました
<jdoc:include type=”message” />
と
<?php if ($this->getBuffer('message')) : ?>
<?php
$message = $this->getBuffer('message');
$script = '<div id="popup"><div id="popup-inner">'.$message.'</div></div><div id="popup-mask"></div>';
echo $script;
?>
<?php endif; ?>
div#popup はポップアップ自体に使用され、div#popup-mask はオーバーレイに使用されます
3. CSS で #popup と #popup-mask のスタイルを設定しました
#popup-mask {position: absolute; top: 0; left: 0; z-index: 9997; background: url(../images/bg-overlay.png);}
#popup {position: fixed; width: 400px; top: 40%; left: 50%; margin-left: -200px; z-index: 9999; background: #e6e6e6; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px;}
4. jQuery を追加
jQuery.fn.showMask = function () {
var maskHeight = jQuery(document).height();
var maskWidth = jQuery(window).width();
jQuery(this).css({'width':maskWidth,'height':maskHeight});
};
jQuery(document).ready(function() {
if (jQuery('#popup-mask').length){
jQuery('#popup-mask').showMask();
jQuery('#popup-mask').click(function () {
jQuery(this).hide();
jQuery('#popup').hide();
});
jQuery(window).resize (function() {
jQuery('#popup-mask').showMask();
});
}
});
それは機能しますが、すでに述べたように、私はJoomlaにまったく慣れていません。
したがって、質問は次のとおりです。
- この解決策は大丈夫ですか?
- どうすれば改善できますか?