yii2.0 DetailView 自定义样式

GII 生成如下:

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'id',
        ['label'=>'name','value'=>$model->name],
    ],
]) ?>

 

自定义如下:

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'id',
        ['label'=>'name','value'=>$model->name)],
    ],
    'template' => '<tr><th>{label}</th><td>{value}</td></tr>', 
    'options' => ['class' => 'table table-striped table-bordered detail-view'],
]) ?>
输出后的HTML为:

    <table class="table table-striped table-bordered detail-view"><tr><th>Uid</th><td>1</td></tr><tr><th>gender</th><td>Female</td></tr></table>


其它具体参数,可以参考【[yii\widgets\DetailView](https://github.com/yiisoft/yii2/blob/master/framework/widgets/DetailView.php)】
public $attributes;
/**
 * @var string|callable the template used to render a single attribute. If a string, the token `{label}`
 * and `{value}` will be replaced with the label and the value of the corresponding attribute.
 * If a callback (e.g. an anonymous function), the signature must be as follows:
 *
 * ~~~
 * function ($attribute, $index, $widget)
 * ~~~
 *
 * where `$attribute` refer to the specification of the attribute being rendered, `$index` is the zero-based
 * index of the attribute in the [[attributes]] array, and `$widget` refers to this widget instance.
 */
public $template = "<tr><th>{label}</th><td>{value}</td></tr>";
/**
 * @var array the HTML attributes for the container tag of this widget. The "tag" option specifies
 * what container tag should be used. It defaults to "table" if not set.
 * @see \yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
 */
public $options = ['class' => 'table table-striped table-bordered detail-view'];
/**
 * @var array|Formatter the formatter used to format model attribute values into displayable texts.
 * This can be either an instance of [[Formatter]] or an configuration array for creating the [[Formatter]]
 * instance. If this property is not set, the "formatter" application component will be used.
 */
public $formatter;
$options可以自由定义,比如:

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'uid',
        ['label'=>'gender','value'=>$model->getGenderText()],
    ],
    'template' => '<tr><th>{label}</th><td>{value}</td></tr>', 
    'options' => ['class1' => 'table table-striped table-bordered detail-view'],
]) ?>


定义为class1,输出的HTML为:
<table class1="table table-striped table-bordered detail-view"><tr><th>Uid</th><td>1</td></tr>
<tr><th>gender</th><td>Female</td></tr></table>

 

本文摘自:http://www.yiichina.com/question/418

转载于:https://www.cnblogs.com/infozr/p/4167142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值