使用此功能的控制器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!
可能是什么问题?
答案 0 :(得分:0)
'Widget.block_id' => $widget['Widget']['block_id']
条件出现问题,显示多个父母的子女。但是在同一个父母的子女之间按照lft
的顺序进行工作。