2013-05-23 3 views
1

이상한 문제가 있습니다. 프로덕션 환경 (Windows에서 우분투로)에 내 웹 사이트를 복사했습니다. 나는 크고 작은 편지 문제를 해결하고 응용 프로그램이 잘 작동하기 시작했습니다. 레이아웃없이 렌더링되는 것처럼 보이는 한 페이지를 입력 할 때까지. 오류가 없습니다. - 또한 방화범이 끌리는 CSS 스타일이나 아무것도 표시하지 않습니다. HTML 소스에는 레이아웃 코드가 부족합니다. 그 이유가 무엇일까요?Yii는 레이아웃이없는 한 페이지 만 렌더링합니다.

편집 :

컨트롤러 부분 : 그것은 CActiveDataProvider을 반환

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

.

보기 : - 그것은 잘 보여줍니다

<?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 위젯이 있다는 사실을 주목해야한다.

+0

가 –

+0

당신이보기 (당신이() 메소드 렌더링 호출 컨트롤러 액션의 조각)를 렌더링하는 데 사용하는 코드를 게시하시기 바랍니다 난 단지 왼쪽 마지막 칼럼이지만'$ this-> renderPartial ('pqrtials/_statMenu'...')라고 주석을 달았고'function ($ data)'레이아웃을 사용하여 열의 위젯/부분을 렌더링하는 것처럼 보입니다. Windows가 작동합니다. – Joe

+1

대신 Yii :: app() -> controller-> renderPartial을 사용해보세요. 작동합니까? –

답변

5

시도 :

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

대신 :

$this->renderPartial(...) 
관련 문제