0

したがって、これはやや一般的な問題であり、問​​題は 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>

誰かが私を正しい方向に向けるアイデアを持っているなら、私はこの問題のために土曜日にここにいることを感謝します!

4

1 に答える 1

0

このようなK2の問題のおかげで、私の仕事はEasyBlogに切り替わりました。問題はsubmitForm()関数にあるようです。$app->setRedirect()リダイレクトしていない がある可能性があります。

window.parent.location.reload()余分です。ページを更新するだけの場合はreturn false;、フォームのを削除するだけですonclick

于 2012-08-12T00:54:50.007 に答える