Как я могу удалить страницу из Zend-навигации?

Я пытаюсь удалить страницу из Zend-навигации, но она не удаляется.

if (!$task->getMilestone()) {
$navigation = $this->getServiceLocator()->get('Navigation');
$page = $navigation->findOneBy('id', 'milestone_edit_task');
$navigation->removePage($page);
$page = $navigation->findOneBy('id', 'milestone_edit_task');
die(var_dump($page->get('id')));
}

findOneBy (), кажется, правильно находит страницу. Но removePage ($ page) не удаляет страницу. Я делаю второй findOneBy (), чтобы доказать, что страница все еще существует.

Как я могу удалить страницу?

(этот код находится внутри действия контроллера, это слишком поздно?)

Как и было запрошено, мой конфиг для контейнера;

// Navigation
'navigation' => array(
'default' => array(

// Projects
array(
'label' => '<i class="fa fa-cubes"></i> Projects',
'route' => 'project/default',
'controller' => 'project',
'pages' => array(
array(
'label' => 'Project Detail',
'controller' => 'project',
'action' => 'detail',
'pages' => array(
array(
'label' => 'Add milestone',
'controller' => 'milestone',
'action' => 'add'
),
array(
'label' => 'Edit milestone',
'controller' => 'milestone',
'action' => 'edit'
),
array(
'label' => 'Delete milestone',
'controller' => 'milestone',
'action' => 'delete'
),
array(
'label' => 'Add task',
'controller' => 'project',
'action' => 'task'
),
array(
'label' => 'Milestone Detail',
'controller' => 'milestone',
'action' => 'detail',
'pages' => array(
array(
'label' => 'Add Task',
'controller' => 'task',
'action' => 'add'
),
array(
'id' => 'milestone_edit_task',   // <---
'label' => 'Edit Task',
'controller' => 'task',
'action' => 'edit'
),
array(
'label' => 'Delete Task',
'controller' => 'task',
'action' => 'delete'
),
array(
'label' => 'Add comment',
'controller' => 'milestone',
'action' => 'comment'
),
array(
'label' => 'Task Detail',
'controller' => 'task',
'action' => 'detail',
),
),
),
array(
'label' => 'Add comment',
'controller' => 'project',
'action' => 'comment'
),
),
),
array(
'label' => 'Edit comment',
'controller' => 'comment',
'action' => 'edit'
),
array(
'label' => 'Delete comment',
'controller' => 'comment',
'action' => 'delete'
),
),
),
),
),

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]