我在joomla后端中得到了这样的代码。

<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">仍正确显示,它仍将我发送给发布方法而不是取消发布方法

有人对此有任何想法吗?

最佳答案

这是一个非常老的问题,但我本人也遇到了同样的问题。

看起来他们通过使用用于发布和取消发布功能的相同方法(已指出)“发布”来节省空间。

问题在于,在该方法中,它检查如何设置状态,但基于“任务”进行设置,由于某种原因,该任务不会从发布数据中剥离控制器的上下文。所以...而不是寻找...

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


...您应该寻找...

public function publish(){

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

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


请注意,我们正在寻找的taskitems.unpublish(项目是您的控制器),而不只是unpublish

我知道这可能很晚了,但希望对您有所帮助。

关于joomla2.5 - Joomla jgrid.published不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20538848/

10-13 02:46