改变在Yii框架视图中显示html表


Change display html table in view on Yii Framework

我使用Yii php框架制作了一个财务管理模块,并通过Gii安装了模型、控制器、CRUD和视图。现在,我想在视图移动页面(例如admin.php(管理控件))中显示为表中的每个财务移动创建的内容,每行一个移动,但不能更新它们。

我对Yii很陌生,尽管我很努力,但Yii似乎太晦涩了,我无法实现任何东西。我怎样才能使我的运动/视图/视图。php显示一个HTML表的所有条目从我的运动表?

——更新:下面是_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>

首先你应该通过CActiveDataProvider在控制器中获取表数据。然后在视图中你可以使用widget - CGridView。使用这个小部件,您可以设置所需的参数。列,过滤器等。你也可以粘贴你的代码,我们会尽力解决你的问题。Yii很简单:)