zoukankan      html  css  js  c++  java
  • 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>
    
    
    其它具体参数,可以参考【[yiiwidgetsDetailView](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 yiihelpersHtml::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

  • 相关阅读:
    【Tomcat】使用Eclipse发布项目时,项目启动路径错误。
    Unsupported major.minor version 52.0
    【转载】设置event.cancelBubble,使触发子元素的onclick不同时触发父元素的onclick
    【MG】测试
    【Tomcat】使用Eclipse运行Tomcat7源码
    【微信公众号】WeixinJSBridge.call('closeWindow')无效
    【微信公众号】使用a标签打开链接显示空白
    【JAVA】导出jar包时,Class files on classpath not found
    【JAVA】修改项目包名
    lesson3.1:java公平锁和非公平锁及读写锁
  • 原文地址:https://www.cnblogs.com/infozr/p/4167142.html
Copyright © 2011-2022 走看看