Я пытаюсь использовать Summernote на своем веб-сайте как часть существующего представления и контроллера, для этого у меня есть следующий код
FileController:
public function getSummernoteeditor()
{
return view('announcements.details');
}
/**
*
* @return \Illuminate\Http\Response
*/
public function postSummernoteeditor(Request $request)
{
$this->validate($request, [
'detail' => 'required',
]);
$detail=$request->detail;
$dom = new \DomDocument();
$dom->loadHtml($detail, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$images = $dom->getElementsByTagName('img');
foreach($images as $k => $img){
$data = $img->getAttribute('src');
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$image_name= "/upload/" . time().$k.'.png';
$path = public_path() . $image_name;
file_put_contents($path, $data);
$img->removeAttribute('src');
$img->setAttribute('src', $image_name);
}
$detail = $dom->saveHTML();
$summernote = new Summernote;
$summernote->post_content = $detail;
$summernote->user_id = Auth::user()->id;
$summernote->post_id = $request->route('id');
dd($summernote);
$summernote->save();
return view('announcements.details');
}
HomeController:
public function announcement($id, Request $request){
$announcements = Announcement::findOrFail($id);
$categories = Category::all();
$replies = Reply::all();
return view('announcements.details', compact('announcements', 'categories', 'replies'));
}
и маршруты:
Route::get('/mededelingen/show/{id}', 'HomeController@announcement')->name('Mededelingen');
Route::get('/mededelingen/show/{id}',array('as'=>'summernoteeditor.get','uses'=>'HomeController@announcement'));
Route::post('/mededelingen/show/{id}',array('as'=>'editor.post','uses'=>'FileController@postSummernoteeditor'));
И открывающий тег для формы:
<form method="POST" action="{{ route('editor.post') }}">
Я надеюсь, что кто-нибудь сможет помочь мне с этой проблемой, если потребуется пересмотреть больше кода, я бы хотел услышать об этом!