多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 后台页面 ### 部分 后端部分是驻留在[控制器的views](https://octobercms.com/docs/backend/views-partials#introduction)目录中的扩展名为**htm**[的](https://octobercms.com/docs/backend/views-partials#introduction)文件。部分文件名应以下划线开头:*\_partial.htm*。可以从后端页面或其他部分渲染部分。使用控制器的`makePartial`方法渲染局部。该方法具有两个参数-部分名称和要传递给部分的变量的可选数组。例: ~~~ <?= $this->makePartial('sidebar', ['showHeader' => true]) ?> ~~~ ### [](https://octobercms.com/docs/backend/views-partials#hints)提示局部 您可以在后端显示信息面板,称为提示,用户可以隐藏它们。为了记住提示是否已隐藏,第一个参数应该是唯一键。第二个参数是对局部视图的引用。除了某些提示属性外,第三个参数可以是一些传递给局部视图的额外视图变量。 ~~~ <?= $this->makeHintPartial('my_hint_key', 'my_hint_partial', ['foo' => 'bar']) ?> ~~~ 您还可以通过将键值设置为空值来禁用隐藏提示的功能。此提示将始终显示: ~~~ <?= $this->makeHintPartial(null, 'my_hint_partial') ?> ~~~ 可以使用以下属性: | 属性 | 描述 | | --- | --- | | **type** | 设置提示的颜色,支持的类型:危险,信息,成功,警告。默认值:信息。 | | **title** | 在提示中添加标题部分。 | | **subtitle** | 除了标题,在标题部分添加第二行。 | | **icon** | 除标题外,在标题部分添加一个图标。 | ### [](https://octobercms.com/docs/backend/views-partials#checking-hints)检查提示是否隐藏 如果您使用的是提示,可能会发现检查用户是否隐藏了它们很有用。使用该`isBackendHintHidden`方法很容易做到这一点。它只有一个参数,这是您在原始调用中指定的唯一键`makeHintPartial`。如果隐藏了提示,则该方法将返回true,否则返回false: ~~~ <?php if ($this->isBackendHintHidden('my_hint_key')): ?> <!-- Do something when the hint is hidden --> <?php endif ?> ~~~ ### [](https://octobercms.com/docs/backend/views-partials#layouts)布局和子布局 后端布局位于插件的可选\*\*layouts /\*\*目录中。使用`$layout`控制器对象的属性设置自定义布局。它默认为称为的系统布局`default`。 ~~~ /** * @var string Layout to use for the view. */ public $layout = 'mycustomlayout'; ~~~ 布局还提供了将自定义CSS类附加到BODY标签的选项。可以使用`$bodyClass`控制器的属性进行设置。 ~~~ /** * @var string Body CSS class to add to the layout. */ public $bodyClass = 'compact-container'; ~~~ 这些主体类可用于默认布局: * **紧凑型容器**\-在所有侧面均不使用填充物。 * **薄容器**\-左右不使用填充。 * \*\*Breadcrumb-flush-\*\*告诉页面Breadcrumb与下面的元素齐平放置。 ### [](https://octobercms.com/docs/backend/views-partials#layout-form-with-sidebar)带有边栏的表格 布局也可以与局部视图相同地使用,其作用更像是全局局部视图。系统提供了一个称为的示例,`form-with-sidebar`并演示了一种实现子布局结构的新颖方法。 在使用此布局样式之前,请`compact-container`通过在控制器的操作方法或构造函数中对其进行设置,确保控制器使用主体类。 ~~~ $this->bodyClass = 'compact-container'; ~~~ 此布局使用两个占位符,一个主要的内容区域称为**form-contents**,另一个免费的侧边栏称为**form-sidebar**。这是一个例子: ~~~ <!-- Primary content --> <?php Block::put('form-contents') ?> Main content <?php Block::endPut() ?> <!-- Complimentary sidebar --> <?php Block::put('form-sidebar') ?> Side content <?php Block::endPut() ?> <!-- Layout execution --> <?php Block::put('body') ?> <?= Form::open(['class'=>'layout stretch']) ?> <?= $this->makeLayout('form-with-sidebar') ?> <?= Form::close() ?> <?php Block::endPut() ?> ~~~ 通过覆盖每个后端布局使用的**正文**占位符,在最后一节中执行布局。它使用`<form />`HTML标记包装所有内容,并呈现称为**form-with-sidebar**的子布局。该文件位于中`modules\backend\layouts\form-with-sidebar.htm`。