1. Go to this page and download the library: Download backpack/pagemanager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
backpack / pagemanager example snippets
namespace App;
trait PageTemplates
{
/*
|--------------------------------------------------------------------------
| Page Templates for Backpack\PageManager
|--------------------------------------------------------------------------
|
| Each page template has its own method, that define what fields should show up using the Backpack\CRUD API.
| Use snake_case for naming and PageManager will make sure it looks pretty in the create/update form
| template dropdown.
|
| Any fields defined here will show up after the standard page fields:
| - select template
| - page name (only seen by admins)
| - page title
| - page slug
*/
private function services()
{
$this->crud->addField([ // CustomHTML
'name' => 'metas_separator',
'type' => 'custom_html',
'value' => '<br><h2>'.trans('backpack::pagemanager.metas').'</h2><hr>',
]);
$this->crud->addField([
'name' => 'meta_title',
'label' => trans('backpack::pagemanager.meta_title'),
'fake' => true,
'store_in' => 'extras',
]);
$this->crud->addField([
'name' => 'meta_description',
'label' => trans('backpack::pagemanager.meta_description'),
'fake' => true,
'store_in' => 'extras',
]);
$this->crud->addField([
'name' => 'meta_keywords',
'type' => 'textarea',
'label' => trans('backpack::pagemanager.meta_keywords'),
'fake' => true,
'store_in' => 'extras',
]);
$this->crud->addField([ // CustomHTML
'name' => 'content_separator',
'type' => 'custom_html',
'value' => '<br><h2>'.trans('backpack::pagemanager.content').'</h2><hr>',
]);
$this->crud->addField([
'name' => 'content',
'label' => trans('backpack::pagemanager.content'),
'type' => 'summernote',
'placeholder' => trans('backpack::pagemanager.content_placeholder'),
]);
}
private function about_us()
{
$this->crud->addField([
'name' => 'content',
'label' => trans('backpack::pagemanager.content'),
'type' => 'summernote',
'placeholder' => trans('backpack::pagemanager.content_placeholder'),
]);
}
}
/** CATCH-ALL ROUTE for Backpack/PageManager - needs to be at the end of your routes.php file **/
Route::get('{page}/{subs?}', ['uses' => '\App\Http\Controllers\PageController@index'])
->where(['page' => '^(((?=(?!admin))(?=(?!\/)).))*$', 'subs' => '.*']);
namespace App\Http\Controllers;
use Backpack\PageManager\app\Models\Page;
use App\Http\Controllers\Controller;
class PageController extends Controller
{
public function index($slug, $subs = null)
{
$page = Page::findBySlug($slug);
if (!$page)
{
abort(404, 'Please go back to our <a href="'.url('').'">homepage</a>.');
}
$this->data['title'] = $page->title;
$this->data['page'] = $page->withFakes();
return view('pages.'.$page->template, $this->data);
}
}