Laravel - 用另一个覆盖 Blade 模板
Laravel - Overwrite Blade Template with another
我正在使用 Laravel 4.1.30
我想知道是否可以用不同的模板覆盖模板:
像这样我会:
Show.blade.php
我会在它所在的同一目录中创建:
_Show.blade.php
第二个文件的内容与原始文件相同,但可以修改,这样我就不必更改原始文件。
这在 laravel 中可能吗?还是不可能?
我猜你可以写一个函数。给你一个想法,这段代码并不完全 php:
$template = 'show.view.php';
if(file_exists('_' . $template)){
return '_' . $template;
}else{
$template;
}
对于Laravel 4.2.x
好吧,我找不到为文件创建层次结构的方法,但是有一种方法可以为文件夹创建层次结构。不久前找到了答案。
所以我们首先去:
app/start/global.php <- global classloader
并添加:
View::addLocation(public_path('app/views'));
然后前往:
app/config/view.php
并更改:
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => array(__DIR__.'/../views'),
至:
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => array(__DIR__.'/../views-custom'),
您可以将 'views-custom' 更改为您喜欢的任何内容,但在该文件夹中所做的所有更改将优先于 'views' 文件夹。所以它更像是一个文件夹层次结构选项。
我正在使用 Laravel 4.1.30
我想知道是否可以用不同的模板覆盖模板:
像这样我会:
Show.blade.php
我会在它所在的同一目录中创建:
_Show.blade.php
第二个文件的内容与原始文件相同,但可以修改,这样我就不必更改原始文件。
这在 laravel 中可能吗?还是不可能?
我猜你可以写一个函数。给你一个想法,这段代码并不完全 php:
$template = 'show.view.php';
if(file_exists('_' . $template)){
return '_' . $template;
}else{
$template;
}
对于Laravel 4.2.x
好吧,我找不到为文件创建层次结构的方法,但是有一种方法可以为文件夹创建层次结构。不久前找到了答案。
所以我们首先去:
app/start/global.php <- global classloader
并添加:
View::addLocation(public_path('app/views'));
然后前往:
app/config/view.php
并更改:
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => array(__DIR__.'/../views'),
至:
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => array(__DIR__.'/../views-custom'),
您可以将 'views-custom' 更改为您喜欢的任何内容,但在该文件夹中所做的所有更改将优先于 'views' 文件夹。所以它更像是一个文件夹层次结构选项。