質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

6483閲覧

LaravelでGridの列に、ボタンを追加したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/11/02 10:40

LaravelでGridの列に、ボタンを追加したいのですが、うまく行きません。

以下のコードを試したのですが、prepend()でうまく呼び出すことができず表示されていません。

protected function grid() { $grid = new Grid(new User()); $grid->column('Id', __('Id')); $grid->column('Name', __(' ame')); $grid->actions(function ($actions) { $actions->prepend('<a href="/admin/user/'.$actions->getKey().'/detail"><button type="button" class="btn btn-primary btn-xs">ユーザー詳細</button></a></br>'); }); return $grid; }

写真の赤い部分、Actionのカラム部分に「ユーザー詳細」というボタンを作りたいのですが、上記のコードでは、写真のような状態のままです。
イメージ説明

コードはこちらのサイトを参考に書きました。
qiita

公式ドキュメントを見ると、append()を使う方法もあるようですが、こちらもうまく行きません。
Laravel-Admin 公式ドキュメント

アドバイスお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Bootstrapの.btnってタグを限定してないので、
イメージ説明
buttonタグとか入れずにaタグにクラス設定すれば良いのでは?

参照先でもreturn "<a class='btn btn-xs btn-success fa fa-check grid-check-row' data-id='{$this->id}'></a>";のようになっています。

それでも提示画像のようになるのでしたら、そこは別のCSSが効いているのでしょう。デベロッパツールなどから確認して特定して何とかするしかないかと。

投稿2020/11/02 10:49

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/02 23:19 編集

コメントありがとうございます。aタグのみで試したのですが、うまくいかず提示画像のままです。 デベロッパツールなどで確認してみても今のところ原因を特定できていません。(プラウザ に表示されていないというよりは、ソースコードレビューをしてみても prepend 以下の部分が全く呼び出されていない状況です。) 非常に無知で初歩的な質問で申し訳ないのですが、 ``` $grid->actions(function ($actions) { $actions->prepend('<a href="/admin/user/'.$actions->getKey().'/detail"><button type="button" class="btn btn-primary btn-xs">ユーザー詳細</button></a></br>'); }); ``` などでボタンを作成する場合、 以下リンクのCustom actions 部分を実装することが前提という理解であってますでしょうか? また、こちらは、Modelsに記載するものでしょうか? https://laravel-admin.org/docs/en/model-grid-actions
guest

0

config/admin.php を下記のように変更すると、三点メニュー表示をボタン表示に変えることができます。
ボタン表示にできれば、質問者様のコードでユーザー詳細ボタンが表示されると思います。

before

1 /* 2 |-------------------------------------------------------------------------- 3 | The global Grid action display class. 4 |-------------------------------------------------------------------------- 5 */ 6 'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class, 7

after

1 /* 2 |-------------------------------------------------------------------------- 3 | The global Grid action display class. 4 |-------------------------------------------------------------------------- 5 */ 6 'grid_action_class' => \Encore\Admin\Grid\Displayers\Actions::class, 7

投稿2021/05/09 08:48

horihory

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問