如何在制作模块时在 Silverstripe 中添加导航项?
How to add a navigation item in Silverstripe while making a module?
我正在尝试为 Silverstripe 构建一个 plugin/module,我正在尝试了解如何在 CMS 管理面板中添加菜单项。
这是我要添加新导航项并将其附加到视图的地方。
我浏览了 API 并找到了 SilverStripeNavigatorItem.html 这个页面,但我不确定如何使用它。
我正在使用 Silverstripe 官方文档提供的 silverstripe-module 模块框架。
如何在管理面板中添加此导航项并在管理面板中为其附加视图?
要创建一个完全自定义的管理屏幕,我们可以创建一个扩展 LeftAndMain
.
的 class
app/src/Admin/TestAdmin.php
<?php
use SilverStripe\Admin\LeftAndMain;
class TestAdmin extends LeftAndMain
{
private static $url_segment = 'test';
private static $menu_title = 'Test';
private static $menu_priority = 100;
private static $menu_icon = 'public/images/treeicons/test.png';
}
$menu_priority
允许我们设置菜单项相对于其他菜单项的顺序。这是可选的。
$menu_icon
允许我们为菜单项设置自定义图标。这是可选的。
然后我们使用以下内容创建一个 TestAdmin_EditForm.ss
模板:
app/templates/Includes/TestAdmin_EditForm.ss
<div class="toolbar toolbar--north cms-content-header vertical-align-items">
<div class="cms-content-header-info flexbox-area-grow vertical-align-items">
<% include SilverStripe\Admin\BackLink_Button %>
<% with $Controller %>
<% include SilverStripe\Admin\CMSBreadcrumbs %>
<% end_with %>
</div>
</div>
<div class="panel panel--padded panel--scrollable flexbox-area-grow cms-panel-padded">
<h1>Hello</h1>
</div>
我正在尝试为 Silverstripe 构建一个 plugin/module,我正在尝试了解如何在 CMS 管理面板中添加菜单项。
这是我要添加新导航项并将其附加到视图的地方。
我浏览了 API 并找到了 SilverStripeNavigatorItem.html 这个页面,但我不确定如何使用它。
我正在使用 Silverstripe 官方文档提供的 silverstripe-module 模块框架。
如何在管理面板中添加此导航项并在管理面板中为其附加视图?
要创建一个完全自定义的管理屏幕,我们可以创建一个扩展 LeftAndMain
.
app/src/Admin/TestAdmin.php
<?php
use SilverStripe\Admin\LeftAndMain;
class TestAdmin extends LeftAndMain
{
private static $url_segment = 'test';
private static $menu_title = 'Test';
private static $menu_priority = 100;
private static $menu_icon = 'public/images/treeicons/test.png';
}
$menu_priority
允许我们设置菜单项相对于其他菜单项的顺序。这是可选的。
$menu_icon
允许我们为菜单项设置自定义图标。这是可选的。
然后我们使用以下内容创建一个 TestAdmin_EditForm.ss
模板:
app/templates/Includes/TestAdmin_EditForm.ss
<div class="toolbar toolbar--north cms-content-header vertical-align-items">
<div class="cms-content-header-info flexbox-area-grow vertical-align-items">
<% include SilverStripe\Admin\BackLink_Button %>
<% with $Controller %>
<% include SilverStripe\Admin\CMSBreadcrumbs %>
<% end_with %>
</div>
</div>
<div class="panel panel--padded panel--scrollable flexbox-area-grow cms-panel-padded">
<h1>Hello</h1>
</div>