1

我有一个奇怪的问题。我将我的网站复制到生产环境中(从 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小部件呈现的事实。

4

1 回答 1

6

尝试:

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

代替:

$this->renderPartial(...)
于 2013-05-23T10:59:24.590 回答