コード例 #1
0
 protected function _children($parent_id, $level)
 {
     $expandedRows = UserMeta::get('expanded_pages', []);
     $page = Page::find($parent_id);
     if (is_null($page)) {
         return NULL;
     }
     $query = Page::where('parent_id', $parent_id)->orderBy('position', 'asc')->orderBy('created_at', 'asc');
     $childrens = $query->get()->lists(NULL, 'id');
     foreach ($childrens as $id => $child) {
         $childrens[$id]->hasChildren = $child->hasChildren();
         $childrens[$id]->isExpanded = in_array($child->id, $expandedRows);
         if ($childrens[$id]->isExpanded === TRUE) {
             $childrens[$id]->childrenRows = $this->_children($child->id, $level + 1);
         }
     }
     return (string) view('pages::pages.children', ['childrens' => $childrens, 'level' => $level + 1]);
 }
コード例 #2
0
 /**
  * @param bool $includeHidden
  *
  * @return Builder
  */
 public function getChildrenQuery($includeHidden = false)
 {
     $query = Page::where('parent_id', $this->getId())->whereIn('status', static::getStatuses($includeHidden))->orderBy('position', 'desc');
     if (filter_var(config('pages.check_date'), FILTER_VALIDATE_BOOLEAN)) {
         $query->whereRaw('published_at <= NOW()');
     }
     return $query;
 }
コード例 #3
0
 /**
  * @param \KodiCMS\Pages\Model\Page $page
  * @return bool
  */
 public function deleted($page)
 {
     // Все дочерние страницы перекидываем в корень
     // TODO: спрашивать у пользователя нужно ли удалять все внутренние страницы
     //Page::where('parent_id', $page->id)->delete();
     Page::where('parent_id', $page->id)->update(['parent_id' => 1]);
     return TRUE;
 }