Я смотрел на поведение nestedSet в Symfony, используя doctrine, чтобы отобразить иерархию nestedSet в модуле администратора для моей CMS.
Я сталкивался: http://redotheoffice.com/?tag=doctrine-drag-drop-admin-generator-symfony-nestedset, который на первый взгляд выглядел великолепно, и теперь я реализовал это.
Моя проблема связана с попыткой упорядочить корневые узлы, так как они организованы по root_id, чего не делает эта реализация.
Я обнаружил следующее: http://blog.rajatpandit.com/2010/03/27/ordering-list-of-items-doctrine-symfony-1-4/, но я уже создал собственный шаблон для рендеринга nestedSet методом перетаскивания, поэтому я пытаюсь использовать это.
//generator.yml
object_actions:
new:
_edit: ~
_delete: ~
moveUp:
moveDown:
Я скопировал код в мой actions.class.php
, и мои классы моделей образуют ссылку выше.
При попытке переместить узел up
или down
выдается ошибка: $this->current_report->getId(),
в executeUp () и executeDown ()
Fatal error: Call to a member function getId() on a non-object
Если я попытаюсь создать объект current_report
, используя $this->current_report = new Tree()
, я получу еще одну ошибку:
Fatal error: Call to a member function setPosition() on a non-object
это в моем Tree.class.php
файле и метод swapWith()
Позиция - это поле, которое я использую для сортировки, а не root_id.
Если бы кто-то мог помочь мне с этим, я был бы очень признателен.
Спасибо