2012-08-12 90 views
0

所以這是一個普遍的問題,問題是我有一個Joomla網站K2延伸和運行JAWall模板。我的問題是,當用戶想在我的網站的前端發佈一個項目,並點擊保存彈出的燈箱不關閉。該帖子被添加,並有一些更新,但框保持不變。K2燈箱將不會關閉保存

我發現了幾個討論這個問題的論壇和一個谷歌代碼錯誤報告here,並再次在K2論壇here,並再次在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> 

如果任何人有一個想法,我指出正確的方向我將不勝感激,我在這裏工作的一個星期六,因爲這個問題!

回答

0

感謝這樣的K2問題,我的工作切換到了EasyBlog。這個問題似乎在submitForm()函數中。可能有一個$app->setRedirect()不重定向。

window.parent.location.reload()是superflous。如果您只想刷新頁面,則只需刪除表格的onclick中的return false;即可。

+0

是單一\故意,還是你的意思是充分評論這一行? – SomeKittens 2012-08-12 01:27:03

+0

我很欣賞這種快速響應,並且我還注意到在那裏剩下的一些代碼,這些代碼是來自測試我添加的唯一一行是window.parent.location.reload();在最後其他人之後,我已經修改它看起來是正確的,還有其他的東西是從K2 – Courtland 2012-08-12 01:30:16

+0

\有沒有....編輯*並刪除它打破了功能 – Courtland 2012-08-12 01:32:34