如何在 Silverstripe CMS 管理员中添加右侧面板作为帮助内容
How to add right panel as help content in Silverstripe CMS admin
我们有一个项目需要 CMS 帮助一些用户,以帮助指导他们完成各种复杂的过程。这适用于各种 ModelAdmin
屏幕。
理想情况下,我们需要屏幕帮助,并且想知道我们是否可以使用 CMS /pages/
部分中使用的正确“预览”面板功能。
+-----------+------------+--------------+
| Left | Middle | Right |
+-----------+------------+--------------+
| Side Menu | ModelAdmin | Help Content |
+-----------+------------+--------------+
为了简单起见,我们希望帮助内容来自 CMS SiteTree
本身:https://example.com/help/
是否可以这样使用预览面板功能?
提前致谢。
您指的右侧面板可能是 SilverStripeNavigator
处理的分屏页面预览内容。几年前我玩过它,但发现它与 CMS/SiteTree 紧密耦合以用于自定义内容。
但这里有一些关于您可以做什么的其他想法:
- 使用
->setDescription("hello world")
or/and ->seRightTitle("hello world")
向 FormFields 添加额外信息,例如:
$fields->addFieldToTab('Root.Main', [
(new TextField('MyFieldName', $this->fieldLabel('MyFieldName')))
->setDescription('Some help text here')
]);
- 您可以通过在选项卡中分组并添加标题来提高管理员的可用性
$fields->addFieldToTab('Root.SomeTab', [
//...
new HeaderField('MyHeader', 'Personal Details of this account'),
new TextField('FirstName', $this->fieldLabel('FirstName')),
//...
]);
- 添加与
LiteralField
内联的帮助元素
$fields->addFieldToTab('Root.SomeTab', [
//...
new TextField('FirstName', $this->fieldLabel('FirstName')),
new LiteralField('MyLiteralField', '<p class="message info">A help description here with any HTML you want. Styled what ever way you want</p>');
//...
]);
- 构建您自己的自定义边栏。
博客模块有一个用于“Post 选项”的自定义侧边栏。您可以复制他们所做的,而不是在那里放置额外的 FormFields,您可以使用 LiteralField
添加任何 HTML 在那里您想要显示您的帮助信息。
我手头没有代码示例,但我想如果您查看博客的源代码,就不难理解他们是如何构建侧边栏的: https://github.com/silverstripe/silverstripe-blog
我们有一个项目需要 CMS 帮助一些用户,以帮助指导他们完成各种复杂的过程。这适用于各种 ModelAdmin
屏幕。
理想情况下,我们需要屏幕帮助,并且想知道我们是否可以使用 CMS /pages/
部分中使用的正确“预览”面板功能。
+-----------+------------+--------------+
| Left | Middle | Right |
+-----------+------------+--------------+
| Side Menu | ModelAdmin | Help Content |
+-----------+------------+--------------+
为了简单起见,我们希望帮助内容来自 CMS SiteTree
本身:https://example.com/help/
是否可以这样使用预览面板功能?
提前致谢。
您指的右侧面板可能是 SilverStripeNavigator
处理的分屏页面预览内容。几年前我玩过它,但发现它与 CMS/SiteTree 紧密耦合以用于自定义内容。
但这里有一些关于您可以做什么的其他想法:
- 使用
->setDescription("hello world")
or/and->seRightTitle("hello world")
向 FormFields 添加额外信息,例如:
$fields->addFieldToTab('Root.Main', [
(new TextField('MyFieldName', $this->fieldLabel('MyFieldName')))
->setDescription('Some help text here')
]);
- 您可以通过在选项卡中分组并添加标题来提高管理员的可用性
$fields->addFieldToTab('Root.SomeTab', [
//...
new HeaderField('MyHeader', 'Personal Details of this account'),
new TextField('FirstName', $this->fieldLabel('FirstName')),
//...
]);
- 添加与
LiteralField
内联的帮助元素
$fields->addFieldToTab('Root.SomeTab', [
//...
new TextField('FirstName', $this->fieldLabel('FirstName')),
new LiteralField('MyLiteralField', '<p class="message info">A help description here with any HTML you want. Styled what ever way you want</p>');
//...
]);
- 构建您自己的自定义边栏。
博客模块有一个用于“Post 选项”的自定义侧边栏。您可以复制他们所做的,而不是在那里放置额外的 FormFields,您可以使用 LiteralField
添加任何 HTML 在那里您想要显示您的帮助信息。
我手头没有代码示例,但我想如果您查看博客的源代码,就不难理解他们是如何构建侧边栏的: https://github.com/silverstripe/silverstripe-blog