Laravel-admin Formで使うSwitchの色やON、OFFの文字列を変更する

laravel-adminのswitchフォーム

具体的にどういったことをするのか

Laravel-adminを使用すると、簡単に上記のようなスイッチフォームを作成することができますが、こちらのONとOFFの文字やONの時の背景色などを変えたい!といった時はどうすればいいのか少し調べるのに苦労しましたので、こちらにまとめました!!ものすごく簡単でした。

元のソースコード(App/Admin/Controllers/SampleController.php)

protected function form()
{
    $form = new Form(new FriedFoodHistory);

    $form->select('fried_food_id', __('basic.product_name'))-
    $form->switch('type', __('basic.type'));
    $form->number('quantity', __('basic.quantity'));

    return $form;
}

編集後のソースコード(App/Admin/Controllers/SampleController.php)

protected function form()
{
    $form = new Form(new FriedFoodHistory);

    $form->select('fried_food_id', __('basic.product_name'))->options(FriedFood::all()->pluck('name', 'id'));

    //下記のパラメータをstates()メソッドに渡すだけです。
    $states = [
        'on' => ['value' => 0, 'text' => __('basic.sale'), 'color' => 'success'],
        'off' => ['value' => 1, 'text' => __('basic.discard'), 'color' => 'danger'],
    ];
    $form->switch('type', __('basic.type'))->states($states);
    $form->number('quantity', __('basic.quantity'));

    return $form;
}
ソースコード修正後の編集画面

これでON、OFFの文字列は「販売」と「廃棄」の文字列になり、背景色が「緑」と「赤」色になりました。Laravel-adminはすごい機能が充実してるので、もっと調べていきます。下記に上がってるGithubのドキュメントを参考にしてますので、ご確認ください!

https://github.com/z-song/laravel-admin/blob/master/docs/en/model-form-fields.md

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です