unisharp/laravel-pagerender

Provide functions to render regular pages with parent-child relationships.

1.0.0 2015-10-13 05:02 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 126ecb161dd01935765fa31dcd75bb9b5d8b9a38

treepagelaravelrenderbreadcrumbparentpagerender

This package is auto-updated.

Last update: 2026-06-15 18:06:37 UTC


README

  • Find your page by alias(aboutus, service, and so on), forget about id.
  • Support page with parent-child structure.
  • Support custom view for different pages.
  • Support breadcrumb(with ancestors function).

Installation

  1. install package

    composer require unisharp/laravel-pagerender
  2. use the trait in your model

    use \Unisharp\Pagerender\PageRenderTrait;
    
    private $default_view = 'page.show';
  3. 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();
     // ..

Usage

 $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.

Todo

 $page->tree();
 // Get all pages with parent-child structure.