2012-12-26 42 views
0

我已經使用Yii php框架爲財務管理製作了一個模塊,並通過Gii安裝了模型,控制器,CRUD和視圖。現在我想要在視圖移動頁面內顯示爲表中每個財務變動創建的內容(例如admin.php(管理控件))中每個財務變動創建的內容,每行一個移動,但無法更新它們。在Yii框架中更改顯示html表格

我對Yii很新,儘管我非常努力,Yii似乎對我來說太模糊了,無法實現任何目標。我怎樣才能使我的運動/ views/view.php顯示一個HTML表格與我的運動表中的所有條目?

--update:

這裏是代碼的形式_view.php

<?php 

/* @var $this MovementController */ 
/* @var $data Financialmovement */ 

$due = gmdate('d/m/Y', $data->due_date); 

if ($data->pay_date != 0) { 
    $pay = gmdate('d/m/Y', $data->pay_date); 
} else { 
    $pay = 'Indisponível'; 
} 
switch ($data->category): 
    case ('trn'): 
     $category = "Transporte"; 
     break; 
    case ('fin'): 
     $category = "Financeiro"; 
     break; 
    default : 
     $category = 'Erro! Valor nulo.'; 
endswitch; 

if ($data->condition = 1) { 
    $condition = 'Concluída'; 
} else { 
    $condition = 'Aberta'; 
} 

if ($data->movement_type = 1) { 
    $type = 'Saída'; 
} else { 
    $type = 'Entrada'; 
} 


$value = $data->value; 
$patern = '/\./'; 
$replacement = ','; 
$value = preg_replace($patern, $replacement, $value); 

$coin = $data->coin_type; 
$patern = '/s/'; 
$replacement = '$'; 
$coin = preg_replace($patern, $replacement, $coin); 

?> 

<tr class="wide form"> 
    <td > 
     <?php echo $data->getAttributeLabel('id'); ?>: 
     <?php echo CHtml::link(($data->id), array('view', 'id' => $data->id)); ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('category'); ?>: 
     <?php echo $category; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('value'); ?>: 
     <?php echo '<span class="capital">' . $coin . "</span> " . $value; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('due_date'); ?>: 
     <?php echo $due; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('pay_date'); ?>: 
     <?php echo $pay; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('description'); ?>: 
     <?php echo $data->description; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('condition'); ?>: 
     <?php echo $condition; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('movement_type'); ?>: 
     <?php echo $type; ?> 

    </td> 
    <td > 
     <?php echo $data->getAttributeLabel('observation'); ?>: 
     <?php echo $data->observation; ?> 

    </td> 
</tr> 

這裏是view.php代碼:

<?php 

/* @var $this MovementController */ 
/* @var $model Financialmovement */ 

$this->breadcrumbs = array(
    'Financial Movements' => array('index'), 
    $model->id, 
); 

$this->menu = array(
    array('label' => 'List Financial Movement', 'url' => array('index')), 
    array('label' => 'Create Financial Movement', 'url' => array('create')), 
    array('label' => 'Update Financial Movement', 'url' => array('update', 'id' => $model->id)), 
    array('label' => 'Delete Financial Movement', 'url' => '#', 'linkOptions' => array('submit' => array('delete', 'id' => $model->id), 'confirm' => 'Are you sure you want to delete this item?')), 
    array('label' => 'Manage Financial Movement', 'url' => array('admin')), 
); 

?> 

<h1>View Financial Movement #<?php echo $model->id; ?></h1> 
<table> 
    <tr> 
     <td>Id</td> 
    </tr> 
    <?php 

    $dataProvider = new CActiveDataProvider('Financialmovement'); 

    $this->widget('zii.widgets.CListView', array(
     'dataProvider' => $dataProvider, 
     'itemView' => '_view', // refers to the partial view named '_view' 
     'sortableAttributes' => array(
      'id', 
      'due_date', 
      'pay_date', 
      'category', 
     ), 
    )); 

    ?> 
</table> 
+0

呼應數據並檢查它可查看網頁上的內容格式,並根據該 – Hemc

+0

w00t不要把邏輯視圖設置HTML視圖,這是醜陋的 – Asgaroth

回答

1

首先,你應該得到的數據表在控制器通過CActiveDataProvider。然後在視圖中可以使用小部件--CGridView。使用這個小部件,你可以設置你需要的參數。列,過濾器等您也可以粘貼您的代碼,我們將嘗試確定您的問題。 Yii中是很容易的:)

+0

但我應該把它在_view文件或視圖文件中它自己?我在view.php中使用了CGridView,但它沒有效果。我在_view.php中放置了什麼,以及我在view.php中放置了什麼? –

+1

你可以在聲明CGridView的地方添加代碼嗎? –

+0

我已更新問題以隱瞞代碼,希望它可以幫助你來幫助我。 –