https://github.com/unisharp/laravel-pagerender
https://github.com/unisharp/laravel-pagerender
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/unisharp/laravel-pagerender
- Owner: UniSharp
- License: mit
- Created: 2015-10-04T08:19:28.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-10-27T11:01:55.000Z (over 10 years ago)
- Last Synced: 2025-04-05T18:12:23.466Z (about 1 year ago)
- Language: PHP
- Size: 180 KB
- Stars: 4
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```php
composer require unisharp/laravel-pagerender
```
1. use the trait in your model
```php
use \Unisharp\Pagerender\PageRenderTrait;
private $default_view = 'page.show';
```
1. make sure your table has these columns : `parent_id`, `alias`, `custom_view`
```php
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
```php
$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
```php
$page->tree();
// Get all pages with parent-child structure.
```