したがって、これはやや一般的な問題であり、問題は K2 拡張機能を備え、JAWall テンプレートを実行している Joomla Web サイトを持っていることです。私の問題は、ユーザーが自分の Web サイトのフロントエンドにアイテムを投稿したいときに、ポップアップするライトボックスが閉じないことです。投稿が追加され、何らかの更新がありますが、ボックスはそのままです。
この問題について議論しているいくつかのフォーラムと Google コードのバグ レポートを K2 フォーラムと Joomla フォーラムで何度も見つけましたが、私の状況に適した解決策はありません。追加できます
window.parent.location.reload()
これは機能しますが、ユーザーが投稿でメディアをアップロードしている場合は待機しません。では、この関数がアップロードを待機するようにするにはどうすればよいでしょうか? これを追加しようとしているコードは長いですが、メインのチャンクが一番上にあるので、誰かが状況をよりよく理解できるように、ここに投稿します。
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');
$document = & JFactory::getDocument();
$document->addScriptDeclaration("
Joomla.submitbutton = function(pressbutton){
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
if (\$K2.trim(\$K2('#title').val()) == '') {
alert( '".JText::_('K2_ITEM_MUST_HAVE_A_TITLE', true)."' );
}
else if (\$K2.trim(\$K2('#catid').val()) == '0') {
alert( '".JText::_('K2_PLEASE_SELECT_A_CATEGORY', true)."' );
}
else {
syncExtraFieldsEditor();
\$K2('#selectedTags option').attr('selected', 'selected');
submitform( pressbutton );
//window.parent.location.reload();//this is what i added
}
}
");
?>
<form action="index.php" enctype="multipart/form-data" method="post"
name="adminForm" id="adminForm">
<?php if($this->mainframe->isSite()): ?>
<div id="k2FrontendContainer">
<div id="k2Frontend">
<table class="k2FrontendToolbar" cellpadding="2" cellspacing="4">
<tr>
<td id="toolbar-save" class="button">
<a class="toolbar" href="#" onclick="javascript: submitbutton('save'); return false;"> <span title="<?php echo JText::_('K2_SAVE'); ?>" class="icon-32-save"></span><?php echo JText::_('K2_SAVE'); ?> </a>
</td>
<td id="toolbar-cancel" class="button">
<a class="toolbar" href="#" > <span title="<?php echo JText::_('K2_CANCEL'); ?>" class="icon-32-cancel"></span> <?php echo JText::_('K2_CLOSE'); ?> </a>
</td>
</tr>
</table>
誰かが私を正しい方向に向けるアイデアを持っているなら、私はこの問題のために土曜日にここにいることを感謝します!