Provide functions to render regular pages with parent-child relationships.
unisharp/laravel-pagerender is a Laravel package for provide functions to render regular pages with parent-child relationships..
It currently has 4 GitHub stars and 87 downloads on Packagist (latest version 1.0.0).
Install it with composer require unisharp/laravel-pagerender.
Discover more Laravel packages by unisharp
or browse all Laravel packages to compare alternatives.
Last updated
install package
composer require unisharp/laravel-pagerender
use the trait in your model
use \Unisharp\Pagerender\PageRenderTrait;
private $default_view = 'page.show';
make sure your table has these columns : parent_id, alias, custom_view
public function up()
{
Schema::create('models', function(Blueprint $table)
{
// ...
$table->string('alias');
$table->integer('parent_id')->unsigned()->nullable();
$table->string('custom_view', 128)->nullable();
// ..
$page = new Page();
$page->render();
// Generates the default view(or custom view if the column is not empty).
$page->summary('content', 7);
// Shorten words of a column, ex: The PHP...
$page->getByAlias('aboutus');
// Get the about us page.
$page->hasByAlias('aboutus');
// Check if the about us page exists.
$page->allWithAlias();
// Get pages that have alias.
$page->subs;
// Get children pages.
$page->hasSubs();
// Check if children pages exist.
$page->parent;
// Get parent page.
$page->hasParent();
// Check if parent page exists.
$page->roots();
// Get all pages at top level.
$page->isRoot();
// Check if this page is at top level.
$page->getLevel();
// Get level count(top level as 0).
$page->ancestors();
// Get all parent pages of the current page.
$page->tree();
// Get all pages with parent-child structure.