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