PHPackages                             customberg/customberg-php - 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. customberg/customberg-php

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

customberg/customberg-php
=========================

0.18(1y ago)201461MITJavaScriptPHP ^8.0 | ^8.1 | ^8.2 | ^8.3 | ^8.4

Since Dec 31Pushed 1y ago1 watchersCompare

[ Source](https://github.com/customberg/customberg-php)[ Packagist](https://packagist.org/packages/customberg/customberg-php)[ Docs](https://github.com/customberg/customberg-php)[ RSS](/packages/customberg-customberg-php/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (6)Dependencies (5)Versions (14)Used By (0)

Demo GIF

[![](customberg-demo.gif?raw=true)](customberg-demo.gif?raw=true)

Instalation
===========

[](#instalation)

```
composer require customberg/customberg-php
```

Add vendor files to your project (CSS, JS, Config, Views):

```
php artisan vendor:publish --provider="VanOns\Laraberg\LarabergServiceProvider"
php artisan vendor:publish --provider="Customberg\PHP\CustombergServiceProvider"
```

Model Setup
===========

[](#model-setup)

The model that you want to use this block editor should have:

```
use VanOns\Laraberg\Traits\RendersContent;

class Page extends Model
{
    use RendersContent;
}
```

In the backpack crud controller you must create the crud field like this:

```
CRUD::field('content')
    ->label('Page content')
    ->type('customberg')
    ->view_namespace('customberg::');
```

Usage
=====

[](#usage)

Create a new block with the `make:block` command:

```
php artisan make:block AwesomeBlock
```

Then edit the block field definition in `app/Blocks/AwesomeBlock.php` file, and the block view in `resources/views/blocks/cb-awesome-block.blade.php`.

Checkout [/example/app/Blocks/EverySingleField.php](https://github.com/customberg/customberg-php/blob/main/example/app/Blocks/EverySingleField.php) for a full example with every field type.

Update
======

[](#update)

After an update, get the latest assets using:

```
# update source
composer require customberg/customberg-php
# update public assets
php artisan vendor:publish --tag="customberg-assets" --force
php artisan vendor:publish --provider="VanOns\Laraberg\LarabergServiceProvider" --tag="public" --force
```

Example project
===============

[](#example-project)

```
git clone https://github.com/customberg/customberg-php
cd customberg-php/example
docker compose up -d
docker compose exec php su app -c 'cd example; composer install'
docker compose exec php su app -c 'cd example; cp .env.example .env; php artisan key:generate'
docker compose exec nginx su app -c 'cd /app/example/public/; ln -s ../storage/app/public storage'
```

Navigate to  and press login.

Enjoy !

Roadmap:
========

[](#roadmap)

✅A checkbox field✅A custom js field☐Switch field☐Radio field☐Slider field☐Google Maps field☐Documentation !☐Icon picker fieldChangelog:
==========

[](#changelog)

### v0.17 - 2024-10-15

[](#v017---2024-10-15)

- Replace str\_replace\_limit implementation because there is a character limit error

### v0.16 - 2024-10-14

[](#v016---2024-10-14)

- New field type: `custom` for custom js field with React.createElement
- Checkout [/example/app/Blocks/CustomField.php](https://github.com/customberg/customberg-php/blob/main/example/app/Blocks/CustomField.php) for an example with summernote for Backpack V5 (TODO: update to V6)

### v0.15 - 2024-09-26

[](#v015---2024-09-26)

- New field types: `checkbox`, `textarea`, `number`, `email`, `url`
- New property `placeholder` for text fields
- New property `hint` and `hint_html` for all fields that show a small helper text
- Checkout [/example/app/Blocks/EverySingleField.php](https://github.com/customberg/customberg-php/blob/main/example/app/Blocks/EverySingleField.php) for a full example

### v0.14 - 2024-08-07

[](#v014---2024-08-07)

- Bugfix: Preview API while rendering a block with multilanguage, when i'm selecting the new language that does not have translation saved.

### v0.13 - 2024-07-08

[](#v013---2024-07-08)

- Allow laravel 11 installation

### v0.12 - 2023-11-09

[](#v012---2023-11-09)

- Bugfix error cannot redeclare str\_replace\_limit

### v0.11 - 2023-11-08

[](#v011---2023-11-08)

- Update requirements to laravel 10

### v0.10 - 2023-04-02

[](#v010---2023-04-02)

- Added file extension validation to `upload_image`.
    Use `'allowed_types' => ['png', 'jpg', 'webp', 'svg'],`
- Added `upload_file` for files without preview.
    Use `'multiple' => true,` if you want multiple files in the same field.

### v0.9 - 2023-01-01

[](#v09---2023-01-01)

- Multilanguage fine tuning, made configurable language list and bugfixing
- Multilanguage only supports fields `text` and `rich_text`, and works inside repeatable field.

### v0.8 - 2022-12-31

[](#v08---2022-12-31)

- Fine tuning for repeatable field frontend
- Added buttons to move and duplicate a item inside repeatable
- Added example block for repeatable

### v0.7 - 2022-12-30

[](#v07---2022-12-30)

- First version published to packagist.org ! 🎉🥳
- Only available fields are: `text, rich_text, color, upload_image`
- Repeatable is present but untested. Multilanguage present but untested and hardcoded.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance47

Moderate activity, may be stable

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Every ~73 days

Recently: every ~61 days

Total

13

Last Release

391d ago

PHP version history (4 changes)0.7PHP ^8.0

0.11PHP ^8.0 | ^8.1 | ^8.2

0.13PHP ^8.0 | ^8.1 | ^8.2 | ^8.3

0.18PHP ^8.0 | ^8.1 | ^8.2 | ^8.3 | ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5564199?v=4)[Andrei Telteu](/maintainers/andreitelteu)[@AndreiTelteu](https://github.com/AndreiTelteu)

---

Top Contributors

[![AndreiTelteu](https://avatars.githubusercontent.com/u/5564199?v=4)](https://github.com/AndreiTelteu "AndreiTelteu (56 commits)")

---

Tags

backpack-for-laravelblock-editorgutenberglaravellaravelgutenbergblock editorlarabergcustomberg

### Embed Badge

![Health badge](/badges/customberg-customberg-php/health.svg)

```
[![Health](https://phpackages.com/badges/customberg-customberg-php/health.svg)](https://phpackages.com/packages/customberg-customberg-php)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[spatie/laravel-health

Monitor the health of a Laravel application

87411.3M152](/packages/spatie-laravel-health)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

815320.5k3](/packages/defstudio-telegraph)[nativephp/mobile

NativePHP for Mobile

1.0k55.0k85](/packages/nativephp-mobile)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

43140.3k](/packages/harris21-laravel-fuse)[laracraft-tech/laravel-useful-additions

A collection of useful Laravel additions!

58122.8k](/packages/laracraft-tech-laravel-useful-additions)

PHPackages © 2026

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