【发布时间】:2019-04-17 22:35:44
【问题描述】:
我正在尝试在我的网站中使用 Summernote 作为现有视图和控制器的一部分,为此我有以下代码
文件控制器:
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');
}
家庭控制器:
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') }}">
我希望有人能够帮助我解决这个问题,如果需要审查更多代码,我很乐意听到!
【问题讨论】:
-
您需要帖子 URL 的 id。您可能想要更改您的 URL,因此它不需要它。此外,您的前两条路线将发生冲突。
-
我需要这样的 url,因为我需要为公告/帖子获取正确的 id。