继承 | yii\web\View » yii\base\View » yii\base\Component » yii\base\Object |
---|---|
可用自版本 | 2.0 |
视图代表了MVC模式的视图对象
视图提供了一组方法(例如\ yii \ web \ render())呈现的目的。
视图是应用程序配置为默认组件在 yii\base\Application。您可以访问该实例通过a Yii::$app->view
.
您可以修改其配置由一个数组添加到您的应用程序配置组件,如下面的示例所示:
'view' => [
'theme' => 'app\themes\MyTheme',
'renderers' => [
// you may add Smarty or Twig renderer here
]
// ...
]
更多细节和使用信息的观点,看到导游文章的观点。
公共属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
$assetBundles | yii\web\AssetBundle[] | 注册资产包的列表. | yii\web\View |
$css | array | 注册的CSS代码块。 | yii\web\View |
$cssFiles | array | 注册CSS文件。 | yii\web\View |
$js | array | 注册JS代码块 | yii\web\View |
$jsFiles | array | 注册JS文件。 | yii\web\View |
$linkTags | array | 注册链接标签. | yii\web\View |
$metaTags | array | 注册meta标记。 | yii\web\View |
$title | string | 页面标题 | yii\web\View |
公共方法
方法 | 描述 | 定义在 |
---|---|---|
beginBody() | 标志着一个HTML的身体的开始部分。 | yii\web\View |
clear() | 清除注册meta标签、链接标记、css / js脚本和文件。 | yii\web\View |
endBody() | 标志着一个HTML的身体部分的结束。 | yii\web\View |
endPage() | 标志着结束的一个HTML页面。 | yii\web\View |
getAssetManager() | 注册资产管理公司在使用这个视图对象。 | yii\web\View |
head() | 标志着一个HTML标题部分的位置。 | yii\web\View |
registerAssetBundle() | 注册命名的资产包。 | yii\web\View |
registerCss() | 注册一个CSS代码块。 | yii\web\View |
registerCssFile() | 注册一个CSS文件。 | yii\web\View |
registerJs() | 注册一个JS代码块 | yii\web\View |
registerJsFile() | 注册一个JS文件。 | yii\web\View |
registerLinkTag() | 注册链接标记。 | yii\web\View |
registerMetaTag() | 注册一个meta标记。 | yii\web\View |
renderAjax() | 渲染一个视图来响应一个AJAX请求。 | yii\web\View |
setAssetManager() | 设置资产管理。 | yii\web\View |
受保护的方法
方法 | 描述 | 定义在 |
---|---|---|
registerAssetFiles() | 提供由资产包包括取决于捆绑文件注册的所有文件。 | yii\web\View |
renderBodyBeginHtml() | 开始时呈现的内容插入身体的部分。 | yii\web\View |
renderBodyEndHtml() | 最后呈现的内容插入身体的部分 | yii\web\View |
renderHeadHtml() | 呈现的内容插入头部分. | yii\web\View |
事件
事件 | 类型 | 描述 | 定义在 |
---|---|---|---|
EVENT_BEGIN_BODY | \yii\web\Event | 由 beginBody() 所触发的事件 | yii\web\View |
EVENT_END_BODY | \yii\web\Event | 一个事件所引发的endBody()。 | yii\web\View |
常量
常量 | 值 | 描述 | 定义在 |
---|---|---|---|
PH_BODY_BEGIN | '' | 一个事件所引发的endBody()。 | yii\web\View |
PH_BODY_END | ' ' | 这是内部使用的接收内容的占位符注册的身体部分。 | yii\web\View |
PH_HEAD | ' ' | 这是内部用作占位符接收头部分的内容. | yii\web\View |
POS_BEGIN | 2 | 注册的JavaScript代码块或文件的位置。这意味着身体的位置开始部分。 | yii\web\View |
POS_END | 3 | 注册的JavaScript代码块或文件的位置。这意味着身体的位置是在最后一节。 | yii\web\View |
POS_HEAD | 1 | 注册的JavaScript代码块或文件的位置。这意味着标题部分的位置。 | yii\web\View |
POS_LOAD | 5 | 注册的JavaScript代码块的位置。这意味着JavaScript代码块将被封闭在 jQuery(window).load() . | yii\web\View |
POS_READY | 4 | 注册的JavaScript代码块的位置。这意味着JavaScript代码块将被封闭在 jQuery(document).ready() . | yii\web\View |
属性详情
$assetBundles public property
注册资产包的列表。键是包名称和值是注册yii\web\AssetBundle对象
public yii\web\AssetBundle[] $assetBundles = []
$css public property
注册的CSS代码块。
参见 registerCss().
$cssFiles public property
注册CSS文件。
$js public property
注册JS代码块
参见 registerJs().
$jsFiles public property
注册JS文件。
参见 registerJsFile().
$linkTags public property
注册链接标记。
$metaTags public property
注册meta标记。
$title public property
页面标题
方法详情
beginBody() public 方法
标志着一个HTML的身体的开始部分。
public void beginBody ( ) |
clear() public 方法
清除注册meta标签、链接标记、css / js脚本和文件。
public void clear ( ) |
endBody() public 方法
标志着一个HTML的身体部分的结束。
public void endBody ( ) |
endPage() public 方法
标志着结束的一个HTML页面。
public void endPage ( $ajaxMode = false ) | ||
$ajaxMode | boolean | 查看是否呈现在AJAX模式。如果这是真的,JS脚本注册POS_READY和POS_LOAD位置呈现视图像正常结束时脚本。 |
getAssetManager() public 方法
注册资产管理公司在使用这个视图对象。
public yii\web\AssetManager getAssetManager ( ) | ||
return | yii\web\AssetManager | asset manager。默认为“assetManager”应用程序组件。 |
---|
head() public 方法
标志着一个HTML标题部分的位置
public void head ( ) |
registerAssetBundle() public 方法
注册命名的资产包。
所有依赖资产包将被注册。
public yii\web\AssetBundle registerAssetBundle ( $name, $position = null ) | ||
$name | string | 资产包的类名(没有领先的反斜杠) |
$position | integer|null | 如果设置,这就迫使最低位置javascript文件。这将javascript文件位置调整不同资产或失败如果需求不能得到满足。如果这是null,资产包的位置设置将不会改变。看到registerJsFile()javascript位置的更多细节。 |
return | yii\web\AssetBundle | 注册资产包实例 |
---|---|---|
throws | yii\base\InvalidConfigException | 如果资产包不存在或者检测到循环依赖 |
registerAssetFiles() protected 方法
注册资产提供的所有文件包包括不同包文件。
删除注册文件从$assetBundles一捆一次。
protected void registerAssetFiles ( $name ) | ||
$name | string | 包的名称进行注册 |
registerCss() public 方法
Registers a CSS code block.
public void registerCss ( $css, $options = [], $key = null ) | ||
$css | string | CSS代码块来登记的内容 |
$options | array |
|
$key | string | 关键标识CSS代码块。如果为空,它将使用css美元作为键。如果两个CSS代码块注册相同的密钥,后者将覆盖前者。 |
registerCssFile() public 方法
Registers a CSS file.
public void registerCssFile ( $url, $options = [], $key = null ) | ||
$url | string | CSS文件来注册。 |
$options | array | 链接的HTML属性标签。请参阅yii \助手\ Html:cssFile()的支持选项。以下选项是专门处理,不作为HTML属性:
|
$key | string | 识别的关键CSS脚本文件。如果为空,它将使用$ url作为键。如果两个CSS文件注册使用相同的密钥,后者将覆盖前者。 |
registerJs() public 方法
注册一个JS代码块。
public void registerJs ( $js, $position = self::POS_READY, $key = null ) | ||
$js | string | 注册的JS代码块 |
$position | integer | JS脚本标记的位置应该插入一个页面。可能的值是: |
$key | string | 关键识别JS代码块。如果为空,它将使用js美元作为键。如果两个JS代码块注册相同的密钥,后者将覆盖前者。 |
registerJsFile() public 方法
Registers a JS file.
public void registerJsFile ( $url, $options = [], $key = null ) | ||
$url | string | JS文件注册。 |
$options | array | HTML脚本标记的属性。以下选项是专门处理,不作为HTML属性:
请参阅yii\helpers\Html::jsFile()对其他受支持的选项。 |
$key | string | 关键识别JS脚本文件。如果为空,它将使用$ url作为键。如果两个JS文件注册相同的关键在同一位置,后者将覆盖前者。注意,选择优先位置,因此文件注册相同的密钥,但不同位置选择不会互相覆盖。 |
registerLinkTag() public 方法
注册链接标记。
例如,可以添加一个自定义的图标链接标记如下:
$view->registerLinkTag(['rel' => 'icon', 'type' => 'image/png', 'href' => '/myicon.png']);
这会导致下面的 html 代码︰ <link rel="icon" type="image/png" href="/myicon.png">
.
Note: 注册链接标签的CSS样式表,使用registerCssFile()相反,有了更多的选择,这样的链接标签。
public void registerLinkTag ( $options, $key = null ) | ||
$options | array | 链接标记 HTML 属性。 |
$key | string | 关键标识标签的链接。如果两个链接标签注册相同的密钥,后者将覆盖前者。如果这是null,新的链接标记将添加到现有的。 |
registerMetaTag() public 方法
注册一个meta标记。
例如,可以添加描述元标签如下:
$view->registerMetaTag([
'name' => 'description',
'content' => 'This website is about funny raccoons.'
]);
将导致meta标记 <meta name="description" content="This website is about funny raccoons.">
.
public void registerMetaTag ( $options, $key = null ) | ||
$options | array | HTML meta标签属性。 |
$key | string | 标识元标签的关键。如果两个meta标签注册相同的密钥,后者将覆盖前者。如果这是null,新的meta标签将添加到现有的。 |
renderAjax() public 方法
渲染一个视图来响应一个AJAX请求。
这种方法类似于\yii\web\render()除了它将环绕正在呈现的视图的电话\yii\web\beginPage(), head(), beginBody(), endBody() and endPage().。通过这样做,可以注入的方法渲染结果与JS / CSS注册的脚本和文件视图。
参见 \yii\web\render().
public string renderAjax ( $view, $params = [], $context = null ) | ||
$view | string | 视图的名称。请参阅 \yii\web\render() 如何指定这个参数。 |
$params | array | 参数(名称-值对)将在视图中提取并提供文件。 |
$context | object | 视图应该使用的上下文呈现视图。如果为空,将使用现有的 \yii\web\context |
return | string | 呈现的结果 |
---|
renderBodyBeginHtml() protected 方法
开始时呈现的内容插入身体的部分
使用注册的JS代码块呈现内容和文件。
protected string renderBodyBeginHtml ( ) | ||
return | string | The rendered content |
---|
renderBodyEndHtml() protected 方法
最后呈现的内容插入身体的部分
使用注册的JS代码块呈现内容和文件。
protected string renderBodyEndHtml ( $ajaxMode ) | ||
$ajaxMode | boolean | 查看是否呈现在AJAX模式。如果这是真的,JS脚本注册POS_READY和POS_LOAD位置呈现视图像正常结束时脚本 |
return | string | 呈现的内容 |
---|
renderHeadHtml() protected 方法
呈现的内容插入头部分。
使用注册meta标签,呈现内容链接标记、CSS / JS代码块和文件。
protected string renderHeadHtml ( ) | ||
return | string | 呈现的内容 |
---|
setAssetManager() public 方法
设置资产管理。
public void setAssetManager ( $value ) | ||
$value | yii\web\AssetManager | 资产管理人员 |
事件详情
EVENT_BEGIN_BODY \yii\web\Event类型的事件
一个事件所引发的 beginBody().
EVENT_END_BODY \yii\web\Event的事件 一个事件所引发的endBody()。