在为基本博客创建基本项目详细信息页面时,我遇到了 Laravel 的 @extends 在拉入主布局模板时不起作用的问题。详细信息页面的内容加载得很好,但母版页 HTML 根本不存在,而且我没有收到任何错误。
在我的 route :
Route::get('blog', 'BlogController@public_index');
Route::get('blog/{id}', 'BlogController@public_single');
在我的博客 Controller 中:
public function public_single($id) {
$blog = Blog::find($id);
return View::make('public.blog_single') -> with('blog', $blog);
}
在 blog_single 模板的最顶部:
@extends('layouts.public')
使用此主布局的所有其他模板均按预期工作。
我的 View 目录结构:
views
|
|layouts
| |
| | admin.blade.php
| | public.blade.php
|
|public
|
|blog.blade.php
|blog_single.blade.php
我想知道的一件事是,该页面看起来像是从子目录呈现的事实是否是一个问题。这是一个例子:
这有效:
www.mydomain.com/blog
这不会:
www.mydomain.com/blog/1
我浏览了 Laravel 文档,但没有看到答案。有任何想法吗?谢谢。
最佳答案
您是否尝试过为主样式引用添加绝对路径?
例如:
<link rel="stylesheet" href="css/bootstrap.min.css">
必须是:
<link rel="stylesheet" href="/css/bootstrap.min.css">
在我们使用的所有网址中。这对我有用:)
关于php - Laravel @extends 无法拉入主布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21510727/