后端视图和部分
Partials
后端部分是扩展名为htm 居住在控制器的意见 目录。部分文件名应以下划线开头:_partial.htm.部分可以从后端页面或其他部分呈现。使用控制器的makePartial
渲染部分的方法。该方法有两个参数 - 部分名称和传递给部分的可选变量数组。例子:
<?= $this->makePartial('sidebar', ['showHeader' => true]) ?>
提示Partials
您可以在后端呈现信息面板,称为提示,用户可以隐藏。第一个参数应该是一个唯一的键,用于记住提示是否被隐藏。第二个参数是对分部视图的引用。除了一些提示属性之外,第三个参数可以是一些额外的视图变量以传递给部分。
<?= $this->makeHintPartial('my_hint_key', 'my_hint_partial', ['foo' => 'bar']) ?>
您还可以通过将键值设置为空值来禁用隐藏提示的功能。将始终显示此提示:
<?= $this->makeHintPartial(null, 'my_hint_partial') ?>
以下属性可用:
Property | Description |
---|---|
type |
设置提示的颜色,支持的类型:danger ,info ,success ,warning .默认:info . |
title |
向提示添加标题部分。 |
subtitle |
除了标题之外,在标题部分添加第二行。 |
icon |
除了标题之外,还向标题部分添加了一个图标。 |
检查提示是否被隐藏
如果您正在使用提示,您可能会发现检查用户是否已隐藏它们很有用。这很容易使用isBackendHintHidden
方法。它采用单个参数,这是您在原始调用中指定的唯一键makeHintPartial
.如果提示被隐藏,该方法将返回 true,否则返回 false:
<?php if ($this->isBackendHintHidden('my_hint_key')): ?>
<!-- Do something when the hint is hidden -->
<?php endif ?>
布局和子布局
后端布局驻留在一个可选的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';
这些主体类可用于默认布局:
-
compact-container
- 在所有方面都不使用填充。 -
slim-container
- 左右不使用填充。 -
breadcrumb-flush
- 告诉页面面包屑与下面的元素齐平。
带侧边栏的表单
布局也可以像局部一样使用,更像是全局局部。系统提供了一个例子,叫做form-with-sidebar
并演示了一种实现子布局结构的新颖方法。
在使用这种布局风格之前,确保你的控制器使用 body 类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() ?>
布局在最后一节中通过覆盖body 每个后端布局使用的占位符。它用一个包裹一切<form />
HTML 标记并呈现名为form-with-sidebar.该文件位于modules\backend\layouts\form-with-sidebar.htm
.