inrage / blocks
WordPress 包,用于在使用 Sage 9 时启用基本块
1.1.0
2021-11-28 10:44 UTC
Requires
- php: >=7.2
- composer/installers: ^1.5
- wordplate/acf: ^8.5
README
简单创建一个包装器来封装您的块,并添加所需的字段。
需求
- Sage 9
- PHP <= 7.2
- 高级自定义字段
自定义字段
所有自定义字段的管理都由 WordPlate ACF 驱动。
https://github.com/wordplate/extended-acf
安装
composer require inrage/blocks
创建一个块
首先,在您的主题目录中创建一个新的文件夹。
mkdir app/Blocks
然后在该文件夹中创建一个名为 Testing.php 的新文件。
<?php namespace App\Blocks; use inRage\Blocks\Block; use WordPlate\Acf\Fields\Text; class Testing extends Block { public $title = 'Testing'; public $description = 'Testing block'; public $icon = 'format-image'; protected function fields(): array { return [ Text::make('Text', 'text')->required() ]; } }
视图
在 resources/views/blocks 文件夹中创建一个新文件。
<div class="{{ $block->classes }}"> <h2>{{ $text }}</h2> </div>
视图中的字段
如果您需要按页面使用自定义字段,可以直接使用此包。
结构
要使用此功能,必须在 "app" 目录中创建一个子目录,它必须命名为 Fields。
请注意,您的文件/类的名称不能与控制器相同。
我们建议您使用 FrontPageField 之类的名称。
<?php namespace App\Fields; use inRage\Blocks\Field; use WordPlate\Acf\Fields\Text; use WordPlate\Acf\Location; class FrontpageFields extends Field { public $title = 'Homepage management'; protected function fields(): array { return [ Text::make('title')->required() ]; } protected function location(): Location { return Location::if('page_type', 'front_page'); } }