【问题标题】:Magento 1.9: sort grid viewMagento 1.9:排序网格视图
【发布时间】:2018-08-29 08:35:57
【问题描述】:

我在我的网格视图中添加了一个列,它应该显示事件的剩余天数。

$this->addColumn('calculate_days', array(
            'header'    => Mage::helper('myodule')->__('Remaining'),
            'type'      => 'options',
            'width'     => '200px',
            'options'   => $options,
            'frame_callback' => array($this, 'getRemaining'),  
            'filter_condition_callback' => array($this, '_calculateFilter')
        ));

getRemaining方法:

 public function getRemaining($value, $row, $column)
    {
       // some calculation to find out remaining days based on some conditions

       return $days;
    }

如果我不指定index 键,单击Remaining 列将不起作用。所以我在addColumn 中添加了index 键,如下所示:

$this->addColumn('calculate_days', array(
            'header'    => Mage::helper('myodule')->__('Remaining'),
            'type'      => 'options',
            'width'     => '200px',
            'index'     => 'created_at',
            'options'   => $options,
            'frame_callback' => array($this, 'getRemaining'),  
            'filter_condition_callback' => array($this, '_calculateFilter')
        ));

现在排序是 WORK 但不正确。当我指定index 时,按index 列应用排序(在这种情况下将按created_at 排序)但我想按剩余天数排序。

我应该怎么做才能解决这个问题?或者有没有sort callback?

【问题讨论】:

    标签: magento magento-1.9


    【解决方案1】:

    为什么不将此值作为新字段添加到此网格中?然后每天通过 cronjob 更新此字段值。

    然后,您将以本机方式对项目进行排序,并且您避免在每次过滤或查看此网格时重新计算每个值。

    希望对你有帮助, 问候

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多