ActionColumn button mit custom URL

Muss ich hinzufügen, neue benutzerdefinierte Schaltfläche, um Yii2 ist ActionColumn. Anhand von Beispielen im Internet, konnte ich erstellen Sie einen Verschluss für das Rendern der Schaltfläche "Benutzerdefiniert" und jetzt macht mit Standard-URL.

Aber, ich muss es mit einer benutzerdefinierten URL.

Habe ich es geschafft dieses zu erhalten getan, durch überschreiben $url Wert, dass meine benutzerdefinierte Schaltfläche Schließung-Funktion zugeführt wird, mit URL generiert mit anderer Funktion Parameter, so:

'buttons' => [
    'see' => function ($url, $model, $key) {
        $options = [
            'title' => Yii::t('yii', 'See in frontend'),
            'aria-label' => Yii::t('yii', 'See'),
            'data-pjax' => '0',
        ];
        $url = \yii\helpers\Url::toRoute(['lab/index', 'lab' => $key]);

        return Html::a('<span class="glyphicon glyphicon-asterisk"></span>', $url, $options);
    }
],

Es funktioniert, aber es ist nicht allzu Professionell. Ich wollte urlCreator Eigenschaft, wie gezeigt, in Kartik Beispiel von Yii Forum:

'urlCreator' => function ($action, $model, $key, $index) {
    if ($action === 'see') {
        return \yii\helpers\Url::toRoute(['lab/index', 'lab' => $key]);
    }
}

Aber, dieses Beispiel nicht funktioniert. Es erzeugt lediglich die richtige URL für mein custom-Taste und Blätter, die Standard-Tasten nicht funktionieren, ohne URL. Dies ist verständlich, wenn man, wie urlCreator funktioniert. Aber, wie dieses problem zu lösen? Wie bekomme ich Zugang zu ActionColumn zu verwenden controller Eigenschaft für die Generierung von URLs für Standard-Schaltflächen oder, wie es zu zwingen zu generieren, werden diese URLs für mich?

InformationsquelleAutor trejder | 2015-04-15
Schreibe einen Kommentar