2016-12-04 2 views
0

Я столкнулся с проблемой рендеринга ... в моем product.blade.php Я хотел бы показать в части страницы содержимое html из внешний источник без iframe. Я хочу, чтобы сделать звонок, как:laravel 5.3 как визуализировать html-содержимое страницы в представлении с помощью функции

{!! View::make('pages.viewer', ['docUrl' => url('get-DocHtml/' . $primaryAttachment->id)]) !!} 

В моем маршруте:

Route::get('get-DocHtml/{id}', '[email protected]'); 

В PagesController.php:

public function getDocHtml($id){ 
$attachment = Attachment::find($id); 
$filepath = Storage::disk('S3')->url($attachment->filename.'/test.html'); 
return \Response::make(file_get_contents($filePath), 200, [ 'Content-Type' => 'text/html; charset=utf-8' ]); 
} 

Я не знаю, как сделать это сделать в средстве просмотра .blade.php или непосредственно в моем product.blade.php, как и все функции и визуализировать их напрямую ...

Есть ли у кого-нибудь какие-либо i деа как сделать это (без помощников)?

Благодарим за помощь.

ответ

0

Почему вы не проходите

file_get_contents($filePath) 

в качестве переменной для просмотра?

getDocHtml ваш метод должен возвращать взгляд таким образом:

return view('viewer')->with([ 
    'external' => file_get_contents($filePath) 
]); 

Затем вы можете сделать что-нибудь с прошедших $external переменной

+0

Спасибо за ваше сообщение. Я просто пытался это сделать, но не могу заставить его работать. Не могли бы вы дать мне больше информации об этом? если я делаю dd (file_get_contents ($ filePath)); в моей публичной функции getDocHtml, она ничего не дает в моем product.blade.php или view.blade.php, я буду держать {!! View :: make ('pages.viewer', ['docUrl' => url ('get-DocHtml /'. $ PrimaryAttachment-> id)]) !!} тоже? – Fabrice

+0

if 'dd (file_get_contents ($ filePath))' ничего не возвращает, это означает, что этот файл ничего не содержит. Вы можете возвращать представление 'VIew :: make', как вы это делали, но дополнительно добавляете переменную' external' (или называете ее так, как хотите). В вашем представлении будет присутствовать переменная '$ external'. – piotr

+0

спасибо Петру, он работает! У меня была проблема с моим контроллером, поскольку моя переменная была пуста. – Fabrice