Yii只呈现一页没有布局

时间:2013-05-23 10:18:00

标签: php layout yii themes render

我有一个奇怪的问题。我将我的网站复制到生产环境(从windows到ubuntu)。我纠正了一些大/小写字母问题,应用程序开始正常工作。直到我进入一个看起来像没有布局呈现的页面。没有错误。 另外 - firebug没有显示css样式或任何东西。在HTML源代码中也缺少布局代码。 可能是什么原因?

编辑:

控制器部分:

$dataProvider = Projects::model()->getInviteProjectsProvider();
$this->render('invite', array(
    'dataProvider' => $dataProvider
));

返回CActiveDataProvider。

查看:

<?php

$this->breadcrumbs=array(
    'Projekty' => array('admin'),
    'Zapraszanie',
);

$this->renderPartial('_allMenu');

?>

<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/projects.css"/> 

<h1>Projekty aktywne - zapraszanie</h1>
<?php   

    $this->widget('bootstrap.widgets.TbExtendedGridView', array(
        'id' => 'invite-grid',
        'type' => 'striped condensed',
        'dataProvider' => $dataProvider,
        'rowCssClassExpression' => '($data->leftCustomers<100) ? "error":""',
        'columns' => array(
            array(
                'name' => 'idProject',
                'htmlOptions' => array('width' => '60px', 'style' => 'text-align: right;', 'class' => 'gridIdColumn'),
            ),
            'name',
            array(
                'name' => 'leftCustomers',
                'header' => 'Pozostało <i class="icon-info-sign" rel="tooltipbootstrap" data-original-title="Gdy wartość ta jest mniejsza niż 100 - rekord jest podświetlony na czerwono"/>',
            ),
            'confirmStart',
            'presentationDate',
            array(
                'class' => 'bootstrap.widgets.TbRelationalColumn',
                'name' => 'Statystyki',
                'value' => '"Pokaż"',
                'url' => $this->createUrl('dynamicProjectStats')
            ),
            array(
                'header' => 'Postęp <i class="icon-info-sign" rel="tooltipbootstrap" data-original-title="Liczba zaproszeń / Limit zaproszeń"/>',
                'value' => function($data)
                {
                    $prc = round(($data->projectMaxInvites > 0) ? ($data->projectInvites)/ $data->projectMaxInvites * 100 : 0, 2);
                    Controller::widget('bootstrap.widgets.TbProgress', array(
                        'percent' => $prc,
                        'htmlOptions' => array(
                            'style' => 'height: 20px; margin-bottom: -20px',
                            'rel' => 'tooltipbootstrap',
                            'data-original-title' => $prc." %",
                        ),
                    ));
                },
            ),
            array(
                'class' => 'bootstrap.widgets.TbButtonColumn',
                'template' => '{view}{update}{delete}',
                'htmlOptions' => array(
                    'style' => 'width: 40px;',
                ),
            ),
            array(
                'header' => '',
                'htmlOptions' => array('style' => 'width: 43px'),
                'value' => function($data)
                {
                    $this->renderPartial('partials/_actionMenu', array('idProject' => $data->idProject, 'activated' => true, 'afterAction' => 'removeActiveProject'));
                }
            ),
            array(
                'header' => '',
                'value' => function($data)
                {
                    $this->renderPartial('partials/_statMenu', array('idProject' => $data->idProject, 'showIcon' => true));
                }
            ),
        )
    ));
?>

我注意到如果我注释掉使用function($data)的列 - 它显示正常。当我离开时 - 没有显示布局。

EDIT2: 也许我应该注意到partials/_statMenupartials/_actionMenu内部有一个bootstrap.widgets.TbButtonGroup窗口小部件呈现。

1 个答案:

答案 0 :(得分:5)

尝试:

Yii::app()->controller->renderPartial(...)

而不是:

$this->renderPartial(...)