PHP 클래스 yii\grid\ActionColumn

To add an ActionColumn to the gridview, add it to the [[GridView::columns|columns]] configuration as follows: php 'columns' => [ ... [ 'class' => 'yii\grid\ActionColumn', you may configure additional properties here ], ]
부터: 2.0
저자: Qiang Xue ([email protected])
상속: extends Column
파일 보기 프로젝트 열기: yiisoft/yii2 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
$buttonOptions html options to be applied to the [[initDefaultButton()|default button]].
$buttons button rendering callbacks. The array keys are the button names (without curly brackets), and the values are the corresponding button rendering callbacks. The callbacks should use the following signature: php function ($url, $model, $key) { return the button HTML code } where $url is the URL that the column creates for the button, $model is the model object being rendered for the current row, and $key is the key of the model in the data provider array. You can add further conditions to the button, for example only display it, when the model is editable (here assuming you have a status field that indicates that): php [ 'update' => function ($url, $model, $key) { return $model->status === 'editable' ? Html::a('Update', $url) : ''; }, ],
$controller the ID of the controller that should handle the actions specified here. If not set, it will use the currently active controller. This property is mainly used by [[urlCreator]] to create URLs for different actions. The value of this property will be prefixed to each action name to form the route of the action.
$headerOptions
$template the template used for composing each cell in the action column. Tokens enclosed within curly brackets are treated as controller action IDs (also called *button names* in the context of action column). They will be replaced by the corresponding button rendering callbacks specified in [[buttons]]. For example, the token {view} will be replaced by the result of the callback buttons['view']. If a callback cannot be found, the token will be replaced with an empty string. As an example, to only have the view, and update button you can add the ActionColumn to your GridView columns as follows: php ['class' => 'yii\grid\ActionColumn', 'template' => '{view} {update}'],
$urlCreator a callback that creates a button URL using the specified model information. The signature of the callback should be the same as that of ActionColumn::createUrl Since 2.0.10 it can accept additional parameter, which refers to the column instance itself: php function (string $action, mixed $model, mixed $key, integer $index, ActionColumn $this) { return string; } If this property is not set, button URLs will be created using ActionColumn::createUrl.
$visibleButtons visibility conditions for each button. The array keys are the button names (without curly brackets), and the values are the boolean true/false or the anonymous function. When the button name is not specified in this array it will be shown by default. The callbacks must use the following signature: php function ($model, $key, $index) { return $model->status === 'editable'; } Or you can pass a boolean value: php [ 'update' => \Yii::$app->user->can('update'), ],

공개 메소드들

메소드 설명
createUrl ( string $action, ActiveRecord $model, mixed $key, integer $index ) : string Creates a URL for the given action and model.
init ( )

보호된 메소드들

메소드 설명
initDefaultButton ( string $name, string $iconName, array $additionalOptions = [] ) Initializes the default button rendering callback for single button
initDefaultButtons ( ) Initializes the default button rendering callbacks.
renderDataCellContent ( $model, $key, $index )

메소드 상세

createUrl() 공개 메소드

This method is called for each button and each row.
public createUrl ( string $action, ActiveRecord $model, mixed $key, integer $index ) : string
$action string the button name (or action ID)
$model yii\db\ActiveRecord the data model
$key mixed the key associated with the data model
$index integer the current row index
리턴 string the created URL

init() 공개 메소드

public init ( )

initDefaultButton() 보호된 메소드

Initializes the default button rendering callback for single button
부터: 2.0.11
protected initDefaultButton ( string $name, string $iconName, array $additionalOptions = [] )
$name string Button name as it's written in template
$iconName string The part of Bootstrap glyphicon class that makes it unique
$additionalOptions array Array of additional options

initDefaultButtons() 보호된 메소드

Initializes the default button rendering callbacks.
protected initDefaultButtons ( )

renderDataCellContent() 보호된 메소드

protected renderDataCellContent ( $model, $key, $index )

프로퍼티 상세

$buttonOptions 공개적으로 프로퍼티

html options to be applied to the [[initDefaultButton()|default button]].
부터: 2.0.4
public $buttonOptions

$buttons 공개적으로 프로퍼티

button rendering callbacks. The array keys are the button names (without curly brackets), and the values are the corresponding button rendering callbacks. The callbacks should use the following signature: php function ($url, $model, $key) { return the button HTML code } where $url is the URL that the column creates for the button, $model is the model object being rendered for the current row, and $key is the key of the model in the data provider array. You can add further conditions to the button, for example only display it, when the model is editable (here assuming you have a status field that indicates that): php [ 'update' => function ($url, $model, $key) { return $model->status === 'editable' ? Html::a('Update', $url) : ''; }, ],
public $buttons

$controller 공개적으로 프로퍼티

the ID of the controller that should handle the actions specified here. If not set, it will use the currently active controller. This property is mainly used by [[urlCreator]] to create URLs for different actions. The value of this property will be prefixed to each action name to form the route of the action.
public $controller

$headerOptions 공개적으로 프로퍼티

public $headerOptions

$template 공개적으로 프로퍼티

the template used for composing each cell in the action column. Tokens enclosed within curly brackets are treated as controller action IDs (also called *button names* in the context of action column). They will be replaced by the corresponding button rendering callbacks specified in [[buttons]]. For example, the token {view} will be replaced by the result of the callback buttons['view']. If a callback cannot be found, the token will be replaced with an empty string. As an example, to only have the view, and update button you can add the ActionColumn to your GridView columns as follows: php ['class' => 'yii\grid\ActionColumn', 'template' => '{view} {update}'],
또한 보기: buttons
public $template

$urlCreator 공개적으로 프로퍼티

a callback that creates a button URL using the specified model information. The signature of the callback should be the same as that of ActionColumn::createUrl Since 2.0.10 it can accept additional parameter, which refers to the column instance itself: php function (string $action, mixed $model, mixed $key, integer $index, ActionColumn $this) { return string; } If this property is not set, button URLs will be created using ActionColumn::createUrl.
public $urlCreator

$visibleButtons 공개적으로 프로퍼티

visibility conditions for each button. The array keys are the button names (without curly brackets), and the values are the boolean true/false or the anonymous function. When the button name is not specified in this array it will be shown by default. The callbacks must use the following signature: php function ($model, $key, $index) { return $model->status === 'editable'; } Or you can pass a boolean value: php [ 'update' => \Yii::$app->user->can('update'), ],
부터: 2.0.7
public $visibleButtons