mwdelaney/sage-acf-gutenberg-blocks
Composer 安装命令:
composer require mwdelaney/sage-acf-gutenberg-blocks
包简介
Create Gutenberg blocks from Sage blade templates and ACF fields.
README 文档
README
Generate ACF Gutenberg blocks just by adding templates to your Sage theme. This package is based heavily on this article by nicoprat.
Installation
Run the following in your Sage (v9 or 10) based theme directory:
composer require "mwdelaney/sage-acf-gutenberg-blocks"
Creating blocks
Add blade templates to views/blocks which get and use ACF data. Each template requires a comment block with some data in it:
{{-- Title: Description: Category: Icon: Keywords: Mode: Align: PostTypes: SupportsAlign: SupportsMode: SupportsMultiple: EnqueueStyle: EnqueueScript: EnqueueAssets: --}}
Example block template
{{-- Title: Testimonial Description: Customer testimonial Category: formatting Icon: admin-comments Keywords: testimonial quote Mode: edit Align: left PostTypes: page post SupportsAlign: left right SupportsMode: false SupportsMultiple: false EnqueueStyle: styles/style.css EnqueueScript: scripts/script.js EnqueueAssets: path/to/asset --}} <blockquote data-{{ $block['id'] }} class="{{ $block['classes'] }}"> <p>{{ get_field('testimonial') }}</p> <cite> <span>{{ get_field('author') }}</span> </cite> </blockquote> <style type="text/css"> [data-{{$block['id']}}] { background: {{ get_field('background_color') }}; color: {{ get_field('text_color') }}; } </style>
Data Options
The options in the file header map to options in the acf_register_block_type function.
| Field | Description | Values | Notes |
|---|---|---|---|
Title |
Title of the block in the gutenberg editor | i.e. Testimonial |
required |
Description |
Description of the block in the gutenberg editor | i.e. My testimonial block |
optional |
Category |
Category to store the block in. Use these values or register your own custom block categories | common, formatting, layout, widgets, embed |
required |
Icon |
An icon property can be specified to make it easier to identify a block. Uses dashicons | i.e. book-alt |
optional |
Keywords |
An array of search terms to help user discover the block while searching. Sepearate values with a space. | i.e. quote mention cite |
optional |
Mode |
The display mode for your block. auto: Preview is shown by default but changes to edit form when block is selected. preview: Preview is always shown. Edit form appears in sidebar when block is selected. edit: Edit form is always shown. | auto, preview or edit |
optional (defaults to preview) |
Align |
The default block alignment. | left center right wide full |
optional (defaults to empty string) |
PostTypes |
An array of post types to restrict this block type to. Sepearate values with a space. | i.e. post page |
|
SupportsAlign |
This property adds block controls which allow the user to change the block’s alignment. Set to true to show all alignments, false to hide the alignment toolbar. Set to an array (strings separated by spaces) of specific alignment names to customize the toolbar. | (boolean) true, falseor (array) left center right wide full |
optional (defaults to true) |
SupportsMode |
This property allows the user to toggle between edit and preview modes via a button. | true or false |
optional (defaults to true) |
SupportsMultiple |
This property allows the block to be added multiple times. | true or false |
optional (defaults to true) |
SupportsInnerBlocks |
This property allows the block to support the nesting of other blocks within it. | true or false |
optional (defaults to false) |
SupportsAlignText |
This property adds an alignment toolbar button similar to that seen when editing a paragraph of text. | true or false |
optional (defaults to false) |
SupportsAlignContent |
This property adds an alignment toolbar button similar to that seen when editing a core "Cover block" | true or false |
optional (defaults to false) |
Creating ACF fields
Once a block is created you'll be able to assign ACF fields to it using the standard Custom Fields interface in WordPress. We recommend using sage-advanced-custom-fields to keep your ACF fields in version control with Sage.
Filter block data
Block data can be altered via the 'sage/blocks/[block-name]/data' filter. For example, if your block template is called my-block.blade.php, you can alter the data this way:
add_filter('sage/blocks/my-block/data', function ($block) { // Do your thing here. });
Filter template folders
By default all your template files in views/blocks will be loaded. You can use the templates filter to add more folders if you wish. See an example below of how to add your own folders.
add_filter('sage-acf-gutenberg-blocks-templates', function ($folders) { $folders[] = 'views/your-folder'; // Adds your folder return $folders; });
mwdelaney/sage-acf-gutenberg-blocks 适用场景与选型建议
mwdelaney/sage-acf-gutenberg-blocks 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 377.5k 次下载、GitHub Stars 达 352, 最近一次更新时间为 2019 年 02 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wordpress」 「advanced custom fields」 「gutenberg」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mwdelaney/sage-acf-gutenberg-blocks 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mwdelaney/sage-acf-gutenberg-blocks 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mwdelaney/sage-acf-gutenberg-blocks 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Feehi CMS Project Template
Multiauth and custom grants for laravel passport
Advanced taxonomies
Custom SilverStripe tweaks to keep things tidy.
Extends basic Wordpress features.
This extension will allow you to set the default of product custom options for Magento 2
统计信息
- 总下载量: 377.5k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 353
- 点击次数: 24
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-02-07