26

ビューへのリンクを含むボタンを設定しようとしています。ただしyii\bootstrap\Button、プロパティはありませんurl。私は Yii を使用したいと思っています。以下のコードは理想的な状況ですが、urlオプションが存在しないため、Yii を使用してこれを修正する別の方法はありますか?

echo Button::Widget([
    'label' => 'label',
    'options' => ['class' => 'btn btn-primary'],
    'url' => Url::toRoute(['/controller/action']),
]);
4

5 に答える 5

66

Html::a()を使用するだけです。

<?= Html::a('label', ['/controller/action'], ['class'=>'btn btn-primary']) ?>

または、これを処理する独自のバージョンのButtonクラスを作成します。

PS: 必要ありませんUrl::toRoute

于 2014-12-10T13:03:02.023 に答える
5

パラメータをurlに渡すこともできます

<?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>

html をレンダリングすることもできます

<?= Html::a('<span class="btn-label">Update</span>', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
于 2016-01-05T11:00:53.033 に答える
3

これを試すことができます:

Html::button("<span class='glyphicon glyphicon-plus' aria-hidden='true'></span>",
                    ['class'=>'kv-action-btn',
                        'onclick'=>"window.location.href = '" . \Yii::$app->urlManager->createUrl(['/create','id'=>$model->id]) . "';",
                        'data-toggle'=>'tooltip',
                        'title'=>Yii::t('app', 'Create New Record'),
                    ]
                )
于 2016-09-06T22:01:52.623 に答える
1

ラベル名またはボタンに翻訳を付けたい場合

<?= Html::a(Yii::t('app','label'), ['/controller/action'], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>

このリンクにアイコンを追加したい場合

 <?= Html::a("<i class=\"fa fa-icon\"></i> ".Yii::t('app','label'), ['/controller/action'], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>

パラメータを渡したい場合

 <?= Html::a(Yii::t('app','label'), ['/controller/action', id => $model->id], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>
于 2016-10-26T10:00:32.623 に答える
1

私にとってはうまくいきます:

<?= Html::button('Press me!', ArrayHelper::merge(['value'=>Url::to(['controller/action'])], ['additionalOptions'])); ?>

したがって、['value'=> Url::to(),]代わりに使用します['url' => ...]

于 2018-05-10T11:14:04.197 に答える