PHPackages                             webid/cms-nova - 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. [Framework](/categories/framework)
4. /
5. webid/cms-nova

ActiveLibrary[Framework](/categories/framework)

webid/cms-nova
==============

CMS for Laravel with Nova

v2.x-dev(2y ago)11[9 issues](https://github.com/web-id-fr/cms-nova/issues)[1 PRs](https://github.com/web-id-fr/cms-nova/pulls)PHPPHP ^8.2

Since Nov 22Pushed 2y ago4 watchersCompare

[ Source](https://github.com/web-id-fr/cms-nova)[ Packagist](https://packagist.org/packages/webid/cms-nova)[ RSS](/packages/webid-cms-nova/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (20)Versions (3)Used By (0)

CMS^ID
======

[](#cmsid)

[ ![MIT Licence Logo](https://camo.githubusercontent.com/942e017bf0672002dd32a857c95d66f28c5900ab541838c6c664442516309c8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265)](./LICENCE)Table of contents
-----------------

[](#table-of-contents)

- [Requirements](#requirements)
- [Installation](#installation)
    1. [Install the package](#install-the-package)
    2. [Publish files](#publish-files)
    3. [Install databases](#install-databases)
    4. [Add nova-components in composer](#add-nova-components)
    5. [Prepare routes](#prepare-routes)
    6. [Link storage files](#6-link-storage-files)
    7. [Configure sitemap.xml](#configure-sitemap)
- [Customization](#customization)
    1. [Use form](#use-form-popin)
    2. [Internationalization](#language-front)
    3. [Update email template](#update-mail-template)
    4. [Add images for components](#add-image-components)
- [Extending functionalities](#extending-cms)
    1. [Create a new component](#create-new-component)
- [Modules](#modules)
    1. [Module form](#module-form)

---

Requirements
------------

[](#requirements)

- PHP &gt;= 8.2
- Laravel &gt;= 9
- Nova &gt;= 4
- Composer 2
- MariaDB / MySQL

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

[](#installation)

### 1. Install the package

[](#1-install-the-package)

This package can be installed as a [Composer](https://getcomposer.org/) dependency.

```
"repositories": [
    {
        "type": "vcs",
        "url" : "git@github.com:web-id-fr/cms-nova.git"
    }
]
```

```
composer require webid/cms-nova
```

### 2. Publish files

[](#2-publish-files)

#### Case 1 : First install

[](#case-1--first-install)

```
php artisan vendor:publish --provider="Webid\CmsNova\CmsServiceProvider" --force
```

#### Case 2 : Second install (or after)

[](#case-2--second-install-or-after)

```
php artisan vendor:publish --provider="Webid\CmsNova\CmsServiceProvider"
```

### 3. Install databases

[](#3-install-databases)

```
make install_db
```

### 4. Add nova-components in composer

[](#4-add-nova-components-in-composer)

```
"extra": {
    "laravel": {
        "dont-discover": [],
        "providers": [
            "Webid\\ComponentTool\\ToolServiceProvider"
        ]
    }
}
```

```
"autoload": {
    "psr-4": {
        "Webid\\ComponentTool\\" : "nova-components/ComponentTool/src/"
    },
},
```

```
"require": {
    "webid/component-item-field": "*",
},

"repositories": [
    {
        "type": "path",
        "url": "./nova-components/ComponentItemField"
    }
]
```

Then run `composer update`

### 5. Prepare routes

[](#5-prepare-routes)

You have to remove all routes from your `routes/web.php` file to make sure the cms will work properly.

If the project is a fresh Laravel project, you may have some generated code like this to remove :

```
Route::get('/', function () {
    return view('welcome');
});
```

### 6. Link storage files

[](#6-link-storage-files)

Run command `php artisan storage:link`.

### 7. Configure sitemap.xml

[](#7-configure-sitemapxml)

If you want to allow robots to access your sitemap, add this line in the `robots.txt` file :

```
Sitemap: https://www.your-domain.com/sitemap.xml

```

⚠ Replace `www.your-domain.com` by your actual website domain.

[![#f03c15](https://camo.githubusercontent.com/0f961518a7ec2afddbe358d250696841250391fd10d08f87047ec0e63321be23/68747470733a2f2f706c616365686f6c642e69742f31352f6630336331352f3030303030303f746578743d2b)](https://camo.githubusercontent.com/0f961518a7ec2afddbe358d250696841250391fd10d08f87047ec0e63321be23/68747470733a2f2f706c616365686f6c642e69742f31352f6630336331352f3030303030303f746578743d2b) ⚠ ⚠ Do not delete existing code in nova-components !!! ⚠ ⚠ [![#f03c15](https://camo.githubusercontent.com/0f961518a7ec2afddbe358d250696841250391fd10d08f87047ec0e63321be23/68747470733a2f2f706c616365686f6c642e69742f31352f6630336331352f3030303030303f746578743d2b)](https://camo.githubusercontent.com/0f961518a7ec2afddbe358d250696841250391fd10d08f87047ec0e63321be23/68747470733a2f2f706c616365686f6c642e69742f31352f6630336331352f3030303030303f746578743d2b)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#---do-not-delete-existing-code-in-nova-components-----)

---

Customization
-------------

[](#customization)

### Disable robots follow

[](#disable-robots-follow)

To disable the tracking of robots, you must add in the .env `DISABLE_ROBOTS_FOLLOW=true`

### Use form

[](#use-form)

#### js

[](#js)

do not modify the file `send_form.js` ! Edit the `helper.js` file with the form front information to display errors and the success message. Added to `package.json` :

```
"dropzone": "^5.7.0",
"lang.js": "^1.1.14"
```

In the `webpack.mix` file, add the `send_form_js` file. The file is already linked in the front.

#### front-end

[](#front-end)

You can change the form frontend but DO NOT TOUCH the `submit_form` class for sending forms.

### Internationalization

[](#internationalization)

Don't forget to create a service to display the languages as you need them. Use this service into a ViewServiceProvider to share both languages and translated slugs to views.

To create the service provider, you can run :

```
php artisan make:provider ViewServiceProvider
```

⚠ Don't forget to add the service provider in the file `config/app.php`.

### Update email template

[](#update-email-template)

#### Template email in `resources/views/mail/form.blade.php`

[](#template-email-in-resourcesviewsmailformbladephp)

You can change the design of the mail template but do not delete or modify the existing code! The present code allows you to display the fields of the form sent in the email.

### Add images for components

[](#add-images-for-components)

```
public/cms/images/components/gallery_component.png
public/cms/images/components/newsletter_component.png
```

---

Extending functionalities
-------------------------

[](#extending-functionalities)

### Create a new component

[](#create-a-new-component)

##### 1. create Models, migration, repositories, Nova, Resource for the new component (register all elements in a Components folder)

[](#1-create-models-migration-repositories-nova-resource-for-the-new-component-register-all-elements-in-a-components-folder)

##### 2. update `config\component.php` with the information of the new component and add the image of the component in `public/components/`

[](#2-update-configcomponentphp-with-the-information-of-the-new-component-and-add-the-image-of-the-component-in-publiccomponents)

##### 3. update `App\Models\Template` with the information of the new component

[](#3-update-appmodelstemplate-with-the-information-of-the-new-component)

##### 4. update `Services\ComponentsService.php` with the information of the new component

[](#4-update-servicescomponentsservicephp-with-the-information-of-the-new-component)

##### 5. update `nova-components\ComponentField` with the information of the new component

[](#5-update-nova-componentscomponentfield-with-the-information-of-the-new-component)

---

Modules
-------

[](#modules)

### Module form

[](#module-form)

#### 1. Add in your `.env` file the `SEND_EMAIL_CONFIRMATION` key, to send or not to send a confirmation email

[](#1-add-in-your-env-file-the-send_email_confirmation-key-to-send-or-not-to-send-a-confirmation-email)

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

907d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cefb02231110e801ec332d70b4bb7f1df97a12f095e0c1ea887d3273d74cde78?d=identicon)[web-id](/maintainers/web-id)

---

Top Contributors

[![E-Liegeois](https://avatars.githubusercontent.com/u/75976679?v=4)](https://github.com/E-Liegeois "E-Liegeois (11 commits)")

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/webid-cms-nova/health.svg)

```
[![Health](https://phpackages.com/badges/webid-cms-nova/health.svg)](https://phpackages.com/packages/webid-cms-nova)
```

###  Alternatives

[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[mhmiton/laravel-modules-livewire

Using Laravel Livewire in Laravel Modules package with automatically registered livewire components for every modules.

236409.6k9](/packages/mhmiton-laravel-modules-livewire)

PHPackages © 2026

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