UniSharp / laravel-pagerender by FreedomKnight

Provide functions to render regular pages with parent-child relationships.
86
4
7
Package Data
Maintainer Username: FreedomKnight
Maintainer Contact: service@unisharp.com (Unisharp Ltd.)
Package Create Date: 2015-10-04
Package Last Update: 2015-10-27
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:26:25
Package Statistics
Total Downloads: 86
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 4
Total Watchers: 7
Total Forks: 0
Total Open Issues: 0

Page Render Package for Laravel

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