子ビューを呼び出すIndexControllerのテンプレートビューファイルに$ stylesおよび$ scripts変数を渡すにはどうすればよいですか?私の現在のコードは、子ビューにのみデータを送信します。Laravel 5.3で作成したテンプレートファイルにデータを渡すには
class BaseController extends Controller
{
public $styles;
public $scripts;
public function __construct()
{
// Set styles and scripts
$this->styles = array(
// css files go here
);
$this->scripts = array(
// js files go here
);
}
}
class IndexController extends BaseController
{
// protected vars here
public function __construct(
// interface files go here
)
{
// vars here
// Append styles and scripts to existing parent array
parent::__construct();
$this->styles['css goes here'] = 'screen';
$this->scripts[] = 'js goes here';
}
public function index()
{
View::make('index')->with('styles', $styles)
->with('scripts', $scripts)
}
}
UPDATE:は私のビューファイルは、あなたがあなたに至る配列としてあなたの変数を渡すことができ
テンプレートビューファイル
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="index, follow" />
<title>Title</title>
@foreach($styles as $file => $type)
<link href="{{ $file}}" media="{{ $type }}" rel="stylesheet">
@endforeach
@foreach($scripts as $file)
<script src="{{ $file }}"></script>
@endforeach
</head>
<body>
<div id="content">
{{ $content }}
</div>
</body>
</html>
子ビューファイル
@extends('layout.template')
@section('content')
// html for child view
@endsection
データをビューに渡す方法は分かっています。子ビューを呼び出すコントローラからテンプレートビューファイルにデータを渡す方法がわかりません。 – VenomRush
それはあなたの全体の 'BaseController'ですか、それとも短縮しましたか?あなたが何をしようとしているのか分かりません。 –
私のビューファイルを追加しました。私は$スタイルと$スクリプトを特定のコントローラで必要に応じて完全に上書きできるシナリオを説明しようとしています。 – VenomRush