如何添加自定义保存操作

How to add a custom to Save Action

我需要知道如何在“保存”按钮上添加(显示)自定义操作选项,例如:'Save and Send' 在 Laravel 的背包上。 我需要在它之后保存并发送邮件。

一种方法是编辑文件:\resources\views\vendor\backpack\crud\inc\form_save_buttons.blade.php 并在 @endforeach;

之后添加另一个 li 元素
...
@endforeach
<li><a href="javascript:void(0);" data-value="save_and_send">Save and Send</a></li>

注意 data-valuesave_and_send。这是一个自定义事件,由 CrudController 上的 store/update 函数捕获。

因此,在您的 EntityCrudController 上,将您的存储和更新操作更改为如下内容:

public function update(UpdateRequest $request)
{
    if(session('save_action') == 'save_and_send') {
        // Add you send mail code here
    }

    return parent::updateCrud();
}

如果需要,对商店功能执行相同的操作。

这不会在您的会话中存储 'save_and_send' 操作以供将来操作,为此您需要扩展 Backpack\CRUD\app\Http\Controllers\CrudFeatures\SaveActions 特征。

希望对您有所帮助。

在 laravel backpack 4.0 中我用这个,而且有效。

use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation {update as traitUpdate ;}

public function update(UpdateRequest $request)
{
    if(\Request::input('save_action') == 'save_and_send') {
        // Add you send mail code here
    }

    return $this->traitUpdate();
}