ビューへのリンクを持つボタンを設定しようとしています。しかしながら yii\bootstrap\Button
にはプロパティurl
がありません。私はむしろYiiを使用してフラットアウトphpを使用します。以下のコードは理想的な状況ですが、url
オプションが存在しないため、 Yiiを使用してこれを修正する他の方法は?
echo Button::Widget([
'label' => 'label',
'options' => ['class' => 'btn btn-primary'],
'url' => Url::toRoute(['/controller/action']),
]);
Html :: a() を使用するだけです:
<?= Html::a('label', ['/controller/action'], ['class'=>'btn btn-primary']) ?>
または、これを処理する独自のバージョンのButton
クラスを作成します。
PS:Url::toRoute
は必要ありません
これを試すことができます:
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'),
]
)
パラメータを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']) ?>
私のために働く:
_<?= Html::button('Press me!', ArrayHelper::merge(['value'=>Url::to(['controller/action'])], ['additionalOptions'])); ?>
_
そのため、_['url' => ...]
_の代わりに['value'=> Url::to(),]
を使用します
ラベル名またはボタンに翻訳を含める場合
<?= 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;']) ?>