inrage/blocks

WordPress 包,用于在使用 Sage 9 时启用基本块

安装: 23

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

类型:

1.1.0 2021-11-28 10:44 UTC

This package is auto-updated.

Last update: 2024-09-28 18:21:29 UTC


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');
    }
}