如何在Silverstripe CMS管理中添加右面板作为帮助内容

如何在Silverstripe CMS管理中添加右面板作为帮助内容,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,我们有一个项目,需要在CMS帮助一些用户,以帮助指导他们通过各种复杂的过程。这将适用于各种ModelAdmin屏幕 理想情况下,我们需要屏幕上的帮助&我们想知道是否可以使用CMS的/pages/部分中使用的正确的“预览”面板功能 +-----------+------------+--------------+ | Left | Middle | Right | +-----------+------------+--------------+ | Side Me

我们有一个项目,需要在CMS帮助一些用户,以帮助指导他们通过各种复杂的过程。这将适用于各种
ModelAdmin
屏幕

理想情况下,我们需要屏幕上的帮助&我们想知道是否可以使用CMS的
/pages/
部分中使用的正确的“预览”面板功能

+-----------+------------+--------------+
|   Left    |   Middle   |    Right     |
+-----------+------------+--------------+
| Side Menu | ModelAdmin | Help Content |
+-----------+------------+--------------+
为了方便起见,我们希望帮助内容来自CMS
SiteTree
本身:
https://example.com/help/

预览面板功能是否可以以这种方式使用


提前谢谢。

您所指的右侧面板可能是由
SilverStripeNavigator
处理的拆分屏幕页面预览内容。我在几年前就已经尝试过了,但发现它与CMS/SiteTree紧密耦合,可以用于定制内容

但是这里有一些关于你能做什么的其他想法:

  • 使用
    ->setDescription(“hello world”)
    或/和
    ->seRightTitle(“hello world”)
    向表单字段添加额外信息,例如:
  • $fields->addFieldToTab('Root.Main'[
    (新文本字段('MyFieldName',$this->fieldLabel('MyFieldName'))
    ->setDescription('此处有一些帮助文本')
    ]);
    
  • 您可以通过在选项卡中分组和添加标题来提高管理员的可用性
  • $fields->addFieldToTab('Root.SomeTab'[
    //...
    新HeaderField('MyHeader','this account的个人详细信息'),
    新建文本字段('FirstName',$this->fieldLabel('FirstName'),
    //...
    ]);
    
  • 添加与
    LiteralField
  • $fields->addFieldToTab('Root.SomeTab'[
    //...
    新建文本字段('FirstName',$this->fieldLabel('FirstName'),
    新的LiteralField('MyLiteralField','

    这里有一个帮助说明,可以包含任何您想要的HTML。可以按照您想要的方式设置样式。

    '; //... ]);
  • 构建您自己的自定义侧边栏
  • 博客模块有一个自定义侧栏,用于“发布选项”。您可以复制他们所做的操作,而不是在其中添加额外的表单字段,您可以使用
    LiteralField
    在其中添加任何要显示帮助信息的HTML


    我手头没有这方面的代码示例,但我可以想象,如果你看一下博客的源代码,就不难弄清楚他们是如何构建侧边栏的:

    “我几年前就研究过它,但发现它与CMS/SiteTree紧密耦合,可以用于定制内容。”那建议是值得的,它有黄金的份量。感觉我们使用预览窗格走错了方向。