如何从 Laravel 4 中的替代目录加载视图
在我的 Laravel 4 应用程序的根目录中,我有一个文件夹 themes
.在 themes
文件夹中,我有 default
和 azure
强>.如何从特定路径中的 themes/default
文件夹访问视图.
In my Laravel 4 application's root directory, I have a folder themes
. Inside the themes
folder, I have default
and azure
.
How can I access view from this themes/default
folder in a specific route.
Route::get('{slug}', function($slug) {
// make view from themes/default here
});
我的目录结构:
-应用程序
--主题
---默认
---天蓝色
我需要从 localhost/laravel/app/themes/default
文件夹加载视图.请解释一下.
I need to load views from localhost/laravel/app/themes/default
folder. Please explain this.
推荐答案
这里我没有从 public
文件夹访问我的项目.而不是这个,我从项目根目录本身访问.
Here I am not accessing my project from public
folder. Instead of this I am accessing from project root itself.
我看到一个关于使用替代路径查看视图
的论坛讨论这里.但我对此有点困惑.讨论的解决方案是,
I have seen a forum discussion about Using alternative path for views
here. But I am little confused about this.The discussed solution was,
你会添加一个 location
像,
You'd add a location
like,
View::addLocation('/path/to/your/views');
然后为主题添加namespace
,
Then add namespace
for theme,
View::addNamespace('theme', '/path/to/themes/views');
然后渲染它,
return View::make('theme::view.name');
/path/to/
的值是多少?
我可以在不同的操作系统中使用同一个项目而不改变路径吗?
Can I use the same project in different operating system without changing the path?
是的,我们可以使用以下方法来做到这一点,
Yes, we can do this using the following,
将以下内容放入 app/start/global.php
View::addLocation(app('path').'/themes/default');
View::addNamespace('theme', app('path').'/themes/default');
然后按默认方式调用view,
Then call view like the default way,
return View::make('page');
这将呈现 project_directory/app/themes/defualt
文件夹中的 page.php
或 page.blade.php
文件.
This will render page.php
or page.blade.php
file from project_directory/app/themes/defualt
folder.
相关文章