PHP code example of redberry / page-builder-plugin
1. Go to this page and download the library: Download redberry/page-builder-plugin 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/ */
redberry / page-builder-plugin example snippets
use Redberry\PageBuilderPlugin\Traits\HasPageBuilder;
class Page extends Model
{
use HasPageBuilder;
}
class Description extends BaseBlock
{
// ...
public static function formatForSingleView(array $data): array
{
$data['text'] = url($data['text']);
$data['image'] = self::getUrlForFile($data['image']);
return $data;
}
}
class Description extends BaseBlock
{
// ...
public static function getBlockTitleAttribute(): string
{
return "logo.name";
}
}
class Description extends BaseBlock
{
// ...
public static function getBlockLabel(array $state, ?int $index = null)
{
return data_get($state, $key) . $index;
}
}
class Description extends BaseBlock
{
public static function getCategory(): string
{
return 'About';
}
}
namespace App\Filament\Admin\BlockCategories;
use Redberry\PageBuilderPlugin\Abstracts\BaseBlockCategory;
class Buttons extends BaseBlockCategory
{
public static function getCategoryName(): string
{
return 'Buttons';
}
}
class Description extends BaseBlock
{
public static function getCategory(): string
{
return TextFields::class;
}
}
namespace App\Filament\Admin\BlockCategories;
use Redberry\PageBuilderPlugin\Abstracts\BaseBlockCategory;
class Buttons extends BaseBlockCategory
{
// ...
public static function getCategoryIcon(): string
{
return 'heroicon-o-hand-raised';
}
}
namespace App\Filament\Admin\BlockCategories;
use Redberry\PageBuilderPlugin\Abstracts\BaseBlockCategory;
class Buttons extends BaseBlockCategory
{
// ...
public static function getCategoryAttributes(): ComponentAttributeBag
{
return new ComponentAttributeBag([
'class' => 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200',
]);
}
}
class Description extends BaseBlock
{
public static function getThumbnail(): string|Htmlable|null
{
return 'https://placehold.co/600x400/png';
}
}
// in form schema
$form->schema([
PageBuilder::make('website_content')
->blocks([Description::class])
->renderWithThumbnails(),
]);
class Description extends BaseBlock
{
public static function getIsSelectionDisabled(): bool
{
return true;
}
}
class Description extends BaseBlock
{
// make sure that injecting parameter is nullable
public static function getBlockSchema(?Model $record = null): array
{
return [
RichEditor::make('text')
->default($record->text)
->