我遇到的情况是,我不需要为yii中的特定页面显示Sub hide_dates()
Dim ws2 As Worksheet, tempRange As Range
Dim StartDate As String
Dim EndDate As String
Set ws2 = Sheets("Test")
ws2.Range("G2").Value = TXTDate1.Text
ws2.Range("G3").Value = TXTDate2.Text
StartDate = Format(DateValue(ws2.Range("G2").Value), "mm/dd/yyyy")
EndDate = Format(DateValue(ws2.Range("G3").Value), "mm/dd/yyyy")
With ActiveSheet
If .AutoFilterMode Then .AutoFilterMode = False
Set tempRange = .Range(.Range("D5"), .Range("D5").End(xlDown))
With tempRange
.AutoFilter field:=1, Criteria1:=">=" & StartDate, _
Operator:=xlAnd, Criteria2:="<=" & EndDate, _
VisibleDropDown:=False
End With
End With
End Sub
(它有导航栏和徽标)header
页脚`。有很多调整可以做到这一点。例如,检查布局不会加载页眉和页脚的特定操作。
yii是否为此问题提供了任何可靠的内容?
我们有and
或$this->layout->unsetHeader();?
我不想检查布局文件以对其进行排序。
帮助将不胜感激。
答案 0 :(得分:4)
您可以将$ this-&gt;布局设置为false;
$this->layout = false
$this->render('view', $data);
这也可以使用renderpartial
来实现$this->renderPartial('view', $data);
上面的方法将显示页面段而不是页面布局的其他项目(例如包含javascript和css以及HTML标题)。
如果您希望布局文件中包含逻辑,则可以从控制器传递变量。
$this->layout = 'mytheme';
$this->show_css = true;
$this->render('view', $data);
并在您的布局中
<html>
<body>
<?php if ($this->show_css) { ?>
<div id="menu">
<ul><li>Menu Option 1</li><li>Menu Option 2</li></ul>
</div>
<?php } <?
<div id="body">
<?php echo $this->content; ?>
</div>
<div id="footer">
</div>
</body>
</html>
如果您不想在控制器中使用变量。改为使用全局变量。
Yii::app()->params['show_menu'] = true;
答案 1 :(得分:3)
我找不到像你一样的功能。
我认为最好和最简单的方法是使用适当的布局,并以这种方式在控制器中调用它
public function actionYourView()
{
$this->layout='yourLayout';
$this->render('yourView');
}
通过这种方式,你不需要在页面和页脚的布局中检查逻辑是否在控制器中。并且分配合适的布局很容易。