PHPackages                             palauaandsons/nova-tags-field - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. palauaandsons/nova-tags-field

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

palauaandsons/nova-tags-field
=============================

A tags field for Nova apps that uses cartalyst/tags

4.0.1(3y ago)1083.9k↓22.2%4[7 issues](https://github.com/palauaandsons/nova-tags-field/issues)MITVue

Since Nov 7Pushed 3y ago1 watchersCompare

[ Source](https://github.com/palauaandsons/nova-tags-field)[ Packagist](https://packagist.org/packages/palauaandsons/nova-tags-field)[ Docs](https://github.com/palauaandsons/nova-tags-field)[ RSS](/packages/palauaandsons-nova-tags-field/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (4)Versions (8)Used By (0)

A tags field for Nova apps
==========================

[](#a-tags-field-for-nova-apps)

This package contains a Nova field to add tags to resources. Under the hood it uses the [cartalyst/tags](https://cartalyst.com/manual/tags) package.

This package is based on [spatie/nova-tags-field](https://github.com/spatie/nova-tags-field). All credit to [Spatie](https://spatie.be)'s team.

Installation
------------

[](#installation)

First you must install [cartalyst/tags](https://github.com/cartalyst/tags) into your Laravel app. Here are [the installation instructions](https://cartalyst.com/manual/tags#installation) for that package.

Next, you can install this package in to a Laravel app that uses [Nova](https://nova.laravel.com) via composer:

```
composer require palauaandsons/nova-tags-field
```

Usage
-----

[](#usage)

To make an Eloquent model taggagle add the `\Cartalyst\Tags\TaggableTrait` trait and implement the `\Cartalyst\Tags\TaggableInterface` interface:

```
use Cartalyst\Tags\TaggableTrait;
use Cartalyst\Tags\TaggableInterface;
use Illuminate\Database\Eloquent\Model;

class BlogPost extends Model implements TaggableInterface
{
    use TaggableTrait;

    ...
}
```

Next you can use the `PalauaAndSons\TagsField\Tags` field in your Nova resource:

```
namespace App\Nova;

use PalauaAndSons\TagsField\Tags;

class BlogPost extends Resource
{
    // ...

    public function fields(Request $request)
    {
        return [
            // ...

            Tags::make('Tags'),

            // ...
        ];
    }
}
```

Now you can view and add tags on the blog posts screen in your Nova app.

Limiting suggestions
--------------------

[](#limiting-suggestions)

By default a tags field will display a maximum of 5 suggestions when typing into it. If you don't want to display any suggestions, tag on `withoutSuggestions()`.

```
Tags::make('Tags')->withoutSuggestions(),
```

You can change the number of suggestions with `limitSuggestions()`.

```
Tags::make('Tags')->limitSuggestions($maxNumberOfSuggestions),
```

Allowing only one tag
---------------------

[](#allowing-only-one-tag)

If the user is only allowed to select one tag for your resource you can call the `single` method.

```
// in your Nova resource

public function fields(Request $request)
{
    return [
        // ...

        Tags::make('Tags')->single(),

        // ...
    ];
}
```

The field will be rendered as a select form element. It will be populated by the names of the tags already saved.

Working with tags
-----------------

[](#working-with-tags)

For more info on how to work with the saved tags, head over to [the docs of cartalyst/tags](https://cartalyst.com/manual/tags#usage).

Administering tags in Nova
--------------------------

[](#administering-tags-in-nova)

If you want to perform crud actions on the save tags, just create a Nova resource for it. Here's an example.

```
namespace App\Nova;

use Illuminate\Http\Request;
use Laravel\Nova\Fields\Text;
use Cartalyst\Tags\IlluminateTag as TagModel;

class Tag extends Resource
{
    public static $model = TagModel::class;

    public static $title = 'name';

    public static $search = [
        'name',
    ];

    public function fields(Request $request)
    {
        return [
            Text::make('Namespace')->sortable()->hideWhenUpdating(),
            Text::make('Name')->sortable(),
            Text::make('Slug')->sortable(),
        ];
    }
}
```

### Testing

[](#testing)

```
phpunit
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Freek Van der Herten](https://github.com/freekmurze)
- [Spatie](https://spatie.be)
- [Isern Palaus](https://github.com/ipalaus)

The Vue components that render the tags are based upon the tag Vue components created by [Adam Wathan](https://twitter.com/adamwathan) as shown in [his excellent Advanced Vue Component Design course](https://adamwathan.me/advanced-vue-component-design/).

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance6

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 57.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~401 days

Total

5

Last Release

1191d ago

Major Versions

1.0.0 → 2.0.02019-03-05

2.0.0 → 3.0.02019-04-17

3.0.0 → 4.0.02022-09-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/f73be2e6617fb5b1f6aa5967ae7363b4e7ea10d998140feeda3ac47baac55d1b?d=identicon)[palauaandsons](/maintainers/palauaandsons)

---

Top Contributors

[![freekmurze](https://avatars.githubusercontent.com/u/483853?v=4)](https://github.com/freekmurze "freekmurze (36 commits)")[![sebastiandedeyne](https://avatars.githubusercontent.com/u/1561079?v=4)](https://github.com/sebastiandedeyne "sebastiandedeyne (8 commits)")[![ipalaus](https://avatars.githubusercontent.com/u/248183?v=4)](https://github.com/ipalaus "ipalaus (6 commits)")[![depsimon](https://avatars.githubusercontent.com/u/1822289?v=4)](https://github.com/depsimon "depsimon (3 commits)")[![yondifon](https://avatars.githubusercontent.com/u/35140079?v=4)](https://github.com/yondifon "yondifon (3 commits)")[![jesseschutt](https://avatars.githubusercontent.com/u/353047?v=4)](https://github.com/jesseschutt "jesseschutt (2 commits)")[![lassemettovaara](https://avatars.githubusercontent.com/u/3303413?v=4)](https://github.com/lassemettovaara "lassemettovaara (1 commits)")[![muhghazaliakbar](https://avatars.githubusercontent.com/u/8321936?v=4)](https://github.com/muhghazaliakbar "muhghazaliakbar (1 commits)")[![cfreear](https://avatars.githubusercontent.com/u/619726?v=4)](https://github.com/cfreear "cfreear (1 commits)")[![taliptako](https://avatars.githubusercontent.com/u/2073785?v=4)](https://github.com/taliptako "taliptako (1 commits)")[![jacobzlogar](https://avatars.githubusercontent.com/u/10762368?v=4)](https://github.com/jacobzlogar "jacobzlogar (1 commits)")

---

Tags

cartalystfieldlaravelnovaphptagslaravelnova

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/palauaandsons-nova-tags-field/health.svg)

```
[![Health](https://phpackages.com/badges/palauaandsons-nova-tags-field/health.svg)](https://phpackages.com/packages/palauaandsons-nova-tags-field)
```

###  Alternatives

[ebess/advanced-nova-media-library

Laravel Nova tools for managing the Spatie media library.

6163.5M22](/packages/ebess-advanced-nova-media-library)[optimistdigital/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2852.1M6](/packages/optimistdigital-nova-sortable)[outl1ne/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2862.1M9](/packages/outl1ne-nova-sortable)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)[advoor/nova-editor-js

A Laravel Nova field bringing EditorJs magic to Nova.

92219.3k3](/packages/advoor-nova-editor-js)[outl1ne/nova-page-manager

Page(s) and region(s) manager for Laravel Nova.

17947.0k](/packages/outl1ne-nova-page-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
