FEATURE: add page ordering
This commit is contained in:
@@ -117,4 +117,24 @@ class EditContent extends Controller
|
||||
->route('content.overview')
|
||||
->with('success', trans('admin/contents.successfullyEdited'));
|
||||
}
|
||||
|
||||
public function order() {
|
||||
$pages = $this->content->getOverview()->get();
|
||||
|
||||
return view('admin.content.order', compact('pages'));
|
||||
}
|
||||
|
||||
public function setOrder(Request $request) {
|
||||
|
||||
$data = $request->get('page');
|
||||
|
||||
foreach ($data as $id => $order) {
|
||||
Content::where('id', $id)->update(['order' => $order]);
|
||||
}
|
||||
|
||||
// something was changed, inform user
|
||||
return redirect()
|
||||
->route('content.overview')
|
||||
->with('success', trans('admin/contents.orderSuccessfullySet'));
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ use App\CMS\Helpers\Traits\Nullable;
|
||||
use App\CMS\Observers\Content as ContentObserver;
|
||||
use App\Models\FileManager\File;
|
||||
use App\Models\Module;
|
||||
use App\Models\Templates\Template;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
@@ -33,6 +34,7 @@ class Content extends Model
|
||||
'isHomepage',
|
||||
'title',
|
||||
'url',
|
||||
'order',
|
||||
'metaKeywords',
|
||||
'metaDescription',
|
||||
'pageContent',
|
||||
@@ -63,6 +65,10 @@ class Content extends Model
|
||||
return $this->hasMany(ContentHistory::class);
|
||||
}
|
||||
|
||||
public function templateModel() {
|
||||
return $this->belongsTo(Template::class, 'template', 'template_name');
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark relationship with users table
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
@@ -100,7 +106,7 @@ class Content extends Model
|
||||
*/
|
||||
public function subpages()
|
||||
{
|
||||
return $this->hasMany(Content::class, 'parentId');
|
||||
return $this->hasMany(Content::class, 'parentId')->orderBy('order')->orderBy('created_at', 'DESC');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -109,7 +115,7 @@ class Content extends Model
|
||||
*/
|
||||
public function publishedSubpages()
|
||||
{
|
||||
$query = $this->hasMany(Content::class, 'parentId');
|
||||
$query = $this->subpages();
|
||||
|
||||
if (\Auth::check()) {
|
||||
$query = $query->where('status', '!=', ContentContract::STATUS_DRAFT);
|
||||
|
||||
Reference in New Issue
Block a user