agence-adeliom / lumberjack-admin
1.0.57
2024-06-20 16:13 UTC
Requires
- php: >=8.0.2
- rareloop/lumberjack-core: ^5.0|^6.0
- symfony/string: ^5.4|^6.0
- symfony/translation-contracts: ^3.0
- vinkla/extended-acf: ^13.0
- 1.x-dev
- 1.0.57
- 1.0.56
- 1.0.55
- 1.0.54
- 1.0.53
- 1.0.52
- 1.0.51
- 1.0.50
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.44
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-09-20 17:00:11 UTC
README
注册WordPress管理员和ACF块界面。
要求
- PHP 8.0或更高版本
- Composer
- Lumberjack
安装
composer require agence-adeliom/lumberjack-admin
# Copy the configuration file
cp vendor/agence-adeliom/lumberjack-admin/config/gutenberg.php web/app/themes/YOUR_THEME/config/gutenberg.php
将服务提供者注册到web/app/themes/YOUR_THEME/config/app.php
'providers' => [ ... \Adeliom\Lumberjack\Admin\AdminProvider::class ]
使用方法
创建类似于选项页面或自定义文章类型的管理员界面
创建您的管理员类以管理文章类型
<?php namespace App\Admin; use Adeliom\Lumberjack\Admin\AbstractAdmin; use Traversable; class PostAdmin extends AbstractAdmin { public const TITLE = "Post edit interface"; /** * @see https://github.com/vinkla/extended-acf#fields * @return Traversable */ public static function getFields(): Traversable { yield Text::make('Post subtitle', 'subtitle'); } /** * @see https://github.com/vinkla/extended-acf#location */ public static function getLocation(): Traversable { yield Location::where('post_type', '==', 'post'); } }
创建您的管理员类以管理选项
<?php namespace App\Admin; use Adeliom\Lumberjack\Admin\AbstractAdmin; use Traversable; class OptionsAdmin extends AbstractAdmin { public const TITLE = "Options"; public const IS_OPTION_PAGE = true; /** * User defined ACF fields * @see https://github.com/vinkla/extended-acf#fields * @return \Traversable|null */ public static function getFields(): ?\Traversable { yield Text::make('Gtag code', 'gtag'); } }
在src/AbstractAdmin.php中查看完整的类声明
创建ACF Gutenberg块
<?php namespace App\Block; use Adeliom\Lumberjack\Admin\AbstractBlock; use Extended\ACF\Fields\WysiwygEditor;use Traversable; class WysiwygBlock extends AbstractBlock { public const NAME = "wysiwyg"; public const TITLE = "Text Editor"; public const DESCRIPTION = "Simple HTML content"; /** * User defined ACF fields * @see https://github.com/vinkla/extended-acf#fields * @return \Traversable|null */ public static function getFields(): ?\Traversable { yield WysiwygEditor::make('HTML Content', 'content'); } }
此块附加的twig模板是views/block/wysiwyg.html.twig
。
编辑Gutenberg设置
添加新分类
<?php //web/app/themes/YOUR_THEME/config/gutenberg.php return [ 'categories' => [ [ 'slug' => 'content', 'title' => __('Content'), 'icon' => null, ] ] ];
全局禁用块
<?php //web/app/themes/YOUR_THEME/config/gutenberg.php return [ ... 'settings' => [ ... "disable_blocks" => false ], ... ];
disable_blocks
可以处理多种类型
false
表示允许所有块正则表达式
您可以使用正则表达式禁止匹配此正则表达式的所有块。例如:/((core|yoast|yoast-seo|gravityforms)\/\w*)/
数组
您可以使用带有通配符的数组。例如:[ 'core/*', 'yoast/breadcrumb' ]
全局禁用块
<?php //web/app/themes/YOUR_THEME/config/gutenberg.php return [ ... 'settings' => [ ... "disable_blocks" => false ], ... ];
disable_blocks
可以处理多种类型
false
表示允许所有块正则表达式
您可以使用正则表达式禁止匹配此正则表达式的所有块。例如:/((core|yoast|yoast-seo|gravityforms)\/\w*)/
数组
您可以使用带有通配符的数组。例如:[ 'core/*', 'yoast/breadcrumb' ]
配置Gutenberg
<?php //web/app/themes/YOUR_THEME/config/gutenberg.php return [ ... 'templates' => [ ... "KEY" => [...] ], ... ];
KEY
可以处理多种类型
- 文章类型包括自定义文章类型。例如:文章、页面、项目...
- 模板例如:tpl-home.php
- id例如:150
- 文章id例如:page-10
设置
[ "enabled" => true, "blocks" => [], "template" => null, "template_lock" => null ]
enabled
:禁用gutenberg的key的能力。默认为true
blocks
:允许的块列表。您可以允许(例如:acf/text
,acf/*
)或禁用块(例如:!core/embed
,!core/*
)
template
:允许指定编辑器的默认初始状态。默认为null
。查看更多
template_lock
:锁定gutenberg的key的能力。默认为null
。查看更多
许可
Lumberjack Admin是在MIT许可证下发布的。