Мне нужно знать, как добавить (отобразить) параметр пользовательского действия на кнопку «Сохранить», например: «Сохранить и отправить» в Backpack для Laravel. Мне нужно сохранить и отправить почту после него.
Как добавить пользовательское действие для сохранения
comment
Привет @niltonmelox: можешь показать нам код, который у тебя есть?
- person Vince Horst   schedule 27.07.2017
comment
Теперь все в порядке. Спасибо @vince-horst
- person niltonmelox   schedule 21.09.2017
Ответы (2)
Это можно сделать, отредактировав файл: \resources\views\vendor\backpack\crud\inc\form_save_buttons.blade.php
и добавив еще один элемент li
после элемента @endforeach
;
...
@endforeach
<li><a href="javascript:void(0);" data-value="save_and_send">Save and Send</a></li>
Обратите внимание на data-value
как на save_and_send
. Это пользовательское событие, которое должно быть перехвачено функцией store/update
в CrudController.
Итак, на вашем EntityCrudController
измените действие store и update на что-то вроде этого:
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
.
Надеюсь, поможет.
person
António Almeida
schedule
02.08.2017
Спасибо @ToniAlmeida
- person niltonmelox; 21.09.2017
в laravel рюкзаке 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();
}
person
Giordo G
schedule
02.04.2020