PHP code example of abno / abncrud
1. Go to this page and download the library: Download abno/abncrud library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
abno / abncrud example snippets
Aman5537jains\AbnCmsCRUD\AbnCmsCRUDServiceProvider::class,
protected $theme = 'AbnCmsCrud::'; // use packaged views
namespace App\Http\Controllers\Admin;
use Aman5537jains\AbnCmsCRUD\CrudController;
class PostsController extends CrudController
{
public static $module = 'posts'; // URL + route name prefix
public static $moduleTitle = 'Posts'; // UI headings
public $model = \App\Models\Post::class; // Eloquent model
protected $theme = 'AbnCmsCrud::'; // use packaged views (optional)
}
// routes/web.php
\App\Http\Controllers\Admin\PostsController::resource();
use Aman5537jains\AbnCmsCRUD\Lib\RouteService;
use App\Http\Controllers\Admin\PostsController;
RouteService::resource('posts', PostsController::class, function ($r) {
// Add optional custom routes inside the posts group
// $r->get('export');
});
return [
'view_fields' => [
// 'status' => [ 'class' => \Aman5537jains\AbnCmsCRUD\Components\TextComponent::class, 'config' => [] ],
],
'form_fields' => [
// 'status' => [ 'class' => \Aman5537jains\AbnCmsCRUD\Components\InputComponent::class, 'config' => ['type' => 'select', 'options' => ['1' => 'Active', '0' => 'Inactive']] ],
],
'components' => [
// Optional: map friendly names to components
],
];
'view_fields' => [
'branch_id' => [
'class' => \Aman5537jains\AbnCmsCRUD\Components\TextComponent::class,
'config' => [
'label' => 'Branch',
'beforeRender' => function ($component) {
$component->setValue(optional(\App\Models\Branch::find($component->getValue()))->branch_name);
}
]
],
'image' => [ 'class' => \Aman5537jains\AbnCmsCRUD\Components\ImageComponent::class, 'config' => [] ],
'thumb' => [ 'class' => \Aman5537jains\AbnCmsCRUD\Components\ImageComponent::class, 'config' => ['height' => 50, 'width' => 50] ],
],
'form_fields' => [
'status' => [
'class' => \Aman5537jains\AbnCmsCRUD\Components\InputComponent::class,
'config' => [ 'type' => 'select', 'value' => '1', 'options' => ['1' => 'Active', '0' => 'Inactive'] ]
],
'image' => [ 'class' => \Aman5537jains\AbnCmsCRUD\Components\FileInputComponent::class, 'config' => [] ],
],
public function getPermissions()
{
// Allow everything for demo
return 'superadmin';
}
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('body');
$table->string('slug')->unique();
$table->enum('status', ['0','1'])->default('1');
$table->timestamps();
});
class PostsController extends CrudController
{
public static $module = 'posts';
public static $moduleTitle = 'Posts';
public $model = \App\Models\Post::class;
protected $theme = 'AbnCmsCrud::';
public function getPermissions() { return 'superadmin'; }
}
\App\Http\Controllers\Admin\PostsController::resource();
bash
# Publish config to config/crud.php
php artisan vendor:publish --provider="Aman5537jains\AbnCmsCRUD\AbnCmsCRUDServiceProvider" --tag=config
# Publish public assets to public/vendor/abncrud
php artisan vendor:publish --provider="Aman5537jains\AbnCmsCRUD\AbnCmsCRUDServiceProvider" --tag=assets