/** * Create new menu item * * @param Menu $menu menu instance * @param array $inputs item's attributes * @param array $menuTypeInput input for menu type module * @return MenuItem */ public function createItem(Menu $menu, array $inputs, array $menuTypeInput = []) { /** @var MenuItem $item */ $item = $this->repo->createItemModel($menu); $item->fill($inputs); $item->{$item->getAggregatorKeyName()} = $menu->getKey(); $item = $this->repo->insertItem($item); $this->setHierarchy($item); $this->setOrder($item); $this->repo->increment($menu); $this->storeMenuType($item, $menuTypeInput); return $item; }
/** * Create new menu item model * * @param Menu $menu menu instance * @return MenuItem */ public function createItemModel(Menu $menu = null) { return $this->repo->createItemModel($menu); }