2009-10-30 22 views
0
public function test(){ 
     $data = ORM::factory('testdata')->find_all(); 

     Table::factory() 
      ->set_body_data($data) 
      ->set_row_titles('id') 
      ->set_column_titles(Table::AUTO) 
      ->set_callback('format_row', 'row') 
      ->render(true); 

      $this->template->title = ''; 
      $this->template->payment_content = ''; 
    } 

    function format_row($row, $index){ 
     if ($index % 2 == 0) return new Tr('', 'zebra'); 
    } 

//得到一个错误:回调函数format_row不存在!在控制器类(Payment_Controller)回调在MVC

我该怎么办回调在MVC声明两种方法?

+0

您能否更详细地描述问题 - 并更准确地说明错误? – arbales 2009-10-30 05:58:10

+0

只是增加了一个额外的评论...希望可以帮助 – yretuta 2009-10-30 06:06:14

回答

2

如果format_row()也属于test()方法所在的类,则回调应该作为array($this, 'format_row')传递。所以,也许你应该将test()的第7行改为->set_callback(array($this, 'format_row'), 'row')

+0

但是,它与你是否使用MVC无关...... – 2009-10-30 06:06:58

+0

如果回调在另一个控制器类中,我会怎么做呢,比如说类声明为Main_Controller – yretuta 2009-10-30 06:12:11

+0

然后,'array(new Main_Controller,'format_row')'如果它是一个实例方法,'array('Main_Controller','format_row')'如果它是静态的。 – 2009-10-30 06:18:38