不是小部件树的那种。 TreeBehavior

时间:2014-03-04 15:00:21

标签: php cakephp

使用此功能的控制器Controller/WidgetsController.php

public function admin_moveup($id, $step = 1) {

    $widget = $this->Widget->findById($id);
    if (!isset($widget['Widget']['id'])) {
        $this->Session->setFlash(__('Invalid id for Widget'), 'alert', array('class' => 'alert-error'));
        $this->redirect(array('action' => 'index'));
    }
    $this->Widget->Behaviors->load('Tree', array(
        'scope' => array(
            'Widget.block_id' => $widget['Widget']['block_id'],
        ),
    ));
    if ($this->Widget->moveUp($id, $step)) {
        $this->Session->setFlash(__('Moved up successfully'), 'alert', array('class' => 'alert-success'));
    } else {
        $this->Session->setFlash(__('Could not move up'), 'alert', array('class' => 'alert-error'));
    }
    $this->redirect(array('action' => 'index'));
} 

但是向上移动会返回错误:Could not move up!

跟踪它,我发现在课程TreeBehavior (Lib/Cake/Model/Behavior/TreeBehavior.php)中,从第570行执行function moveup会返回null!

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

'Widget.block_id' => $widget['Widget']['block_id']条件出现问题,显示多个父母的子女。但是在同一个父母的子女之间按照lft的顺序进行工作。