2013-12-12 61 views
3

我在joomla後端得到了這樣的代碼。Joomla jgrid.published不工作

<td class="center"><?php echo JHtml::_('jgrid.published', $item->published, $i, 'products.', TRUE, 'cb'); ?></td> 

發佈功能正常工作將我發送到我的控制器產品和方法發佈。然而,取消發佈是不正確的,它發送我發佈方法,而不是取消發佈方法,即使錨標籤仍然正確顯示這樣<a class="jgrid" href="javascript:void(0);" onclick="return listItemTask('cb7','products.unpublish')" title="Unpublish Item">

任何人有任何想法呢?

回答

0

這是一個非常古老的問題,但我自己也遇到了同樣的問題。

看起來他們是通過使用同樣的方法(你指出的)「發佈」的發佈和取消發佈功能,節省了空間。

的問題是,在該方法中它檢查如何設置狀態,但是並因此基於「任務」,這出於某種原因不剝離控制器的上下文中出來後的數據。所以...而不是找...

if($post['task'] == 'unpublish'){ 

...你應該尋找...

public function publish(){ 

    $post = JRequest::get('post'); 

    if($post['task'] == 'items.unpublish'){ 
     $state = 0; 
    }else{ 
     $state = 1; 
    } 

通知我們正在尋找的task如何items.unpublish(項目是你控制器)而不僅僅是unpublish

我知道這可能是方式來晚了,但希望它可以幫助別人。