amphibee/acf-blocks 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

amphibee/acf-blocks

最新稳定版本:1.2

Composer 安装命令:

composer require amphibee/acf-blocks

包简介

Provide abstracted class to help build ACF-based Gutenberg Blocks

README 文档

README

Quickly declare your Gutenberg blocks with ACF and WordPlate Extended ACF

Requirements

The package requires the following plugins:

  • Advanced Custom Fields Pro
  • WordPlate Extended ACF (included in the ACF Blocks package)

Installation

Require this package, with Composer, in the root directory of your project.

composer require amphibee/acf-blocks

Usage

Declaring a block

use \AmphiBee\AcfBlocks\Block;
use \Extended\ACF\Fields\Text;
use \Extended\ACF\Fields\Textarea;

Block::make('My beautiful block', 'my_beautiful_block')
    ->setFields([
        Text::make('Title', 'title'),
        Textarea::make('Content', 'content'),
    ])
    ->disableCustomClasseName()
    ->setAllowedBlocks([
        'core/paragraph',
        'core/heading',
    ])
    ->setJsxTemplate([
        ['core/heading', [
            'level' => 2,
            'placeholder' => 'Title Goes Here',
        ]],
        ['core/paragraph', [
            'placeholder' => 'Content goes here',
        ]]
    ])
    ->loadAllFields()
    ->setMode('edit')
    ->setIcon('format-aside')
    ->setAlign('full')
    ->enableJsx()
    ->setRenderTemplate('partials/my-beautiful-block.php');

ACF Blocks is also compatible with Blade views !

use \AmphiBee\AcfBlocks\Block;
use \Extended\ACF\Fields\Text;
use \Extended\ACF\Fields\Textarea;

Block::make('My beautiful block', 'my_beautiful_block')
    ->setFields([
        \Extended\ACF\Fields\Text::make('Title', 'title'),
        \Extended\ACF\Fields\Textarea::make('Content', 'content'),
    ])
    ->setMode('preview')
    ->setIcon('editor-code')
    ->setAlign('wide')
    ->enableJsx()
    ->setView('partials.my-beautiful-block', [
        'key' => 'value',
    ]);

Rendering a block

Raw PHP template

<div class="p-4">
    <?php var_dump($viewData); ?>
    <h1><?php echo $field->title; ?></h1>
    <p><?php echo $field->content; ?></p>
    <?php echo $innerBlocks ?>
</div>

Blade view

<div class="p-4">
    <h1>{{$field->title}}</h1>
    <p>{{$field->content}}</p>
    <p>{{$viewData['key']}}</p>
    {!! $innerBlocks !!}
</div>

Declaring a category

use \AmphiBee\AcfBlocks\BlockCategory;

BlockCategory::make('My beautiful category', 'my_beautiful_category')
    ->setIcon('wordpress')

统计信息

  • 总下载量: 9.61k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 14
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 14
  • Watchers: 3
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-01-09