문제

I decided to add some extra data about the controllers and actions in some model beforeSave as follows:

//in the model
public function beforeSave() {
        $this->data[$this->alias]['path'] = 'blah blan';
        debug($this->params);
        die(); //for debugging!
}

The printout of debug returns null! The model I uses is the Comment model of the comments plugin. I need to access params to get the current controller, actions and some url parameters.

Indeed, I plan to change the way that comments plugin lists the comments from model based to be path based to solve the issue of need comments for more than one action depend on the same model.

도움이 되었습니까?

해결책

Finally I found the solution: It is in Router object method getParams();

//in the model
public function beforeSave() {
        $this->data[$this->alias]['path'] = 'blah blan';
        debug(Router::getParams());
        die(); //for debugging!
}

it prints out something like:

array(
    'plugin' => null,
    'controller' => 'qurans',
    'action' => 'view',
    'named' => array(
        'comment' => '0'
    ),
    'pass' => array(
        (int) 0 => '8'
    )
)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top