webpress / tag-manager
Webpress tag manager
Requires
- cviebrock/eloquent-sluggable: 7.0.1
- webpress/core: ^3.1
Requires (Dev)
- orchestra/testbench: 5.0.0
- phpunit/phpunit: 8.5.13
- spatie/phpunit-watcher: 1.23.0
This package is auto-updated.
Last update: 2026-05-17 18:46:53 UTC
README
Installation
Composer
To include the package in your project, Please run following command.
composer require webpress/tag-manager
Configuration
Model and Transformer
You can use your own model and transformer class by modifying the configuration file config\tag.php
'models' => [ 'tag' => App\Entities\Tag::class, ], 'transformers' => [ 'tag' => App\Transformers\TagTransformer::class, ],
Your Tag model class must implements VCComponent\Laravel\Tag\Contracts\TagSchema and VCComponent\Laravel\Tag\Contracts\TagManagement
Auth middleware
Configure auth middleware in configuration file config\tag.php
'auth_middleware' => [ 'admin' => [ 'middleware' => 'jwt.auth', 'except' => ['index'], ], 'frontend' => [ 'middleware' => 'jwt.auth', 'except' => ['index'], ], ],
Query functions provide
List of query functions
Scope a query to only include published tags.
public function scopeIsPublished($query)
Scope a query to sort tags by name column.
public function scopeSortByName($query, $order = 'asc')
Scope a query to sort tags by usage time. From hight to low.
public function scopeMostUsed($query, $tagable_type = null)
Scope a query to sort tags by usage time. From low to hight.
public function scopeLeastUsed($query, $taggable_type = null)
Use
Use Trait.
namespace App\Model; use VCComponent\Laravel\Tag\Traits\TagQueryTrait; class Tag { use TagQueryTrait; \\ }
Extend VCComponent\Laravel\Tag\Entities\Tag Entity.
namespace App\Model; use VCComponent\Laravel\Tag\Entities\Tag as BaseTag; class Tag extends BaseTag { \\ }
For example
$category = Tag::isPublished()->mostUsed()->get();
Routes
The api endpoint should have these format:
| Verb | URI |
|---|---|
| GET | /api/admin/tags |
| GET | /api/admin/tags/all |
| GET | /api/admin/tags/{id} |
| POST | /api/admin/tags |
| PUT | /api/admin/tags/{id} |
| DELETE | /api/admin/tags/{id} |
| PUT | /api/admin/tags/status/bulk |
| PUT | /api/admin/tags/status/{id} |
| ---- | ---- |
| GET | /api/tags/all |
| GET | /api/tags/{id} |
| POST | /api/tags |
| PUT | /api/tags/{id} |
| DELETE | /api/tags/{id} |