Laravel — перезаписать шаблон лезвия другим

Я использую Laravel 4.1.30

Мне было интересно, если можно перезаписать шаблон с другим шаблоном:

Вот так у меня будет:

Show.blade.php

Я бы сделал в том же каталоге, где он находится:

 _Show.blade.php

Этот второй файл будет иметь тот же контент, что и оригинал, но может быть изменен, поэтому мне не нужно менять оригинал.

Это возможно в Laravel, или это будет невозможно?

1

Решение

Я думаю, вы можете написать функцию. чтобы дать вам представление, этот код не полностью php:

$template = 'show.view.php';

if(file_exists('_' . $template)){
return '_' . $template;
}else{
$template;
}
0

Другие решения

Для 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». Так что это скорее вариант иерархии папок.

0

По вопросам рекламы [email protected]