我的routes.php
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
// Frontend
Route::get('/', 'IndexController@index');
Route::get('/contact', 'UserController@index');
Route::get('home', 'HomeController@index');
Route::get('/articles', 'ArticleController@all');
Route::get('/article/{id}', 'ArticleController@show')
->where('id', '\d+');
Route::get('/messageboard', 'MessageController@messageboard');
// End Of Frontend
// Backend
Route::group(['prefix' => 'admin'], function () {
Route::get('/article/create', 'Backend\PostController@create');
Route::get('/article/edit/{id}', 'Backend\PostController@edit');
Route::get('/signin', 'Backend\UserController@signin');
Route::get('/signup', 'Backend\UserController@signup');
Route::get('/user/{id}', 'Backend\UserController@ucenter');
Route::post('/article/create', 'Backend\PostController@store');
Route::post('/article/edit', 'Backend\PostController@update');
Route::post('/article/del/{id}', 'Backend\PostController@del');
});
在添加新文件夹resources/views
之前,我将视图文件放在resource/views/backend
中;但是前端和后端都有2种不同的布局,所以我想组织更多的可读性。如下所示:
├── auth
│ ├── login.blade.php
│ ├── password.blade.php
│ ├── register.blade.php
│ └── reset.blade.php
├── backend
│ ├── article_create.blade.php
│ ├── layout.blade.php
│ └── sidebar_menu.blade.php
├── emails
│ └── password.blade.php
├── errors
│ ├── 404.blade.php
│ └── 503.blade.php
├── vendor
├── layout.blade.php
├── article.blade.php
├── articles.blade.php
├── home.blade.php
├── index.blade.php
├── messageboard.blade.php
├── sidebar_menu.blade.php
└── user.blade.php
通常我只是@extends('layout')
而且它在前端工作正常
前端视图文件位于默认位置(
resources/views
)
但是,我必须@extends('backend.layout')
加载后端的布局!
后端的查看文件放在
中resources/views/backend
那么,有没有办法让我只用@extends('layout')
加载后端布局模板?
我看到一些代码引用了' addNamesapce' ...
......英语不好......
修改的
也许我可以用另一种方式来实现我的想法。在laravel 5.2中,刀片模板可以使用@extend('layouts.frontend.app')
扩展前端模板,@extend('layouts.backend.app')
用于后端。
resources/views/layouts/frontend/app.blade.php
resources/views/layouts/backend/app.blade.php
这不是什么大不了的事。
答案 0 :(得分:0)
我不知道你是否可以按照你想要的方式去做,但是你总是可以编辑config / view.php并将这一行添加到路径数组中:
realpath(base_path('resources/views/backend'))
您可以直接访问这些视图。在下方,您不能拥有2个具有相同名称的视图(您必须重命名后端内部的视图)。
答案 1 :(得分:0)
由于View Finder上的视图路径属性受到保护,因此您需要使用服务容器绑定:
[oldVC presentViewController:newVC animated:YES completion:^{
[notificationCenter removeObserver:oldVC];
}];