Пример #1
0
 public function onMove()
 {
     $sourceNode = MenuItem::find(post('sourceNode'));
     $targetNode = post('targetNode') ? MenuItem::find(post('targetNode')) : null;
     if ($sourceNode == $targetNode) {
         return;
     }
     switch (post('position')) {
         case 'before':
             $sourceNode->moveBefore($targetNode);
             break;
         case 'after':
             $sourceNode->moveAfter($targetNode);
             break;
         case 'child':
             $sourceNode->makeChildOf($targetNode);
             break;
         default:
             $sourceNode->makeRoot();
             break;
     }
 }
Пример #2
0
 /**
  * Outputs custom markup in place of the default URL. If not specified,
  * URL is output.
  *
  * @param  MenuItem $item
  *
  * @return string
  */
 public function onRender(MenuItem $item, Controller $controller, array $settings, $depth = 0, $url, $child_count = 0)
 {
     $theme = Theme::getEditTheme();
     return $controller->renderPartial($item->master_object_id, ['item' => $item, 'settings' => $settings, 'depth' => $depth, 'url' => $url, 'child_count' => $child_count, 'before_item' => sprintf($settings['before_item'], $item->id, $item->id_attrib, $item->getClassAttrib($settings, $depth), $item->title_attrib), 'after_item' => sprintf($settings['after_item'], $item->id, $item->id_attrib, $item->getClassAttrib($settings, $depth), $item->title_attrib)]);
 }