2014-12-10 14 views
18

Ich versuche, eine Schaltfläche mit einem Link zu einer Ansicht einzurichten. yii/bootstrap/Button hat jedoch keine Eigenschaft 'URL'. Ich würde lieber yii verwenden, um einfach flat out php zu verwenden. Der Code wie unten wäre die ideale Situation, aber da die "url" -Option nicht existiert, gibt es eine andere Möglichkeit, dies mit yii zu beheben?yii2 Schaltfläche mit Link

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

Antwort

48

Sie könnten einfach Html::a() verwenden:

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

Oder Ihre eigene Version von Button Klasse erstellen, dies zu umgehen.

PS: Sie brauchen nicht Url::toRoute

3

Sie auch Parameter

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

Sie können auch machen die html

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

Sie können versuchen, diese mit url passieren kann:

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'), 
        ] 
       ) 
0

Wenn Sie Ihren Markennamen oder Taste Übersetzungen haben

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

Wenn Sie ein Symbol für diesen Link

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

hinzufügen möchten, wenn Sie Parameter übergeben wollen

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