后端视图和部分

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';

这些主体类可用于默认布局:

带侧边栏的表单

布局也可以像局部一样使用,更像是全局局部。系统提供了一个例子,叫做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.

豫ICP备18041297号-2