2014-02-13 65 views
3

由於Laravel的Asset Pipeline軟件包不允許您有條件地向頁面添加腳本/樣式表,因此執行此操作的最佳方法是什麼?Laravel Asset Pipeline條件JavaScript

我已經有了一個JavaScript文件,它是連接在一起的一組文件,包含在每個頁面上,爲我們提供了一個庫文件。我現在需要做的是爲特定頁面添加另一個JavaScript文件(所有頁面都使用相同的模板)。

我目前的計劃是擴大BaseController添加一個腳本/樣式的數組,可以動態附加到模板,如果有任何項目。但是肯定有更好的方式是資產管道包的一部分?

回答

7

它沒有使用asset-pipeline,但我使用的解決方案是刀片模板中的@parent指令。

我的網站上我有幾個js和幾個css,我需要在每一個頁面(如Twitter bootstrap),我有一個Blade layout包括那些。

然後在某些頁面上(我的應用程序是一個分析應用程序),我需要包含特定於頁面的資源(例如圖表庫)。

在我的佈局,因此,我有:

@section('js') 
{{ HTML::script('js/a.js') }} 
@show 

@section('css') 
{{ HTML::style('css/a.css') }} 
@show 

然後一個特定的頁面上,我有:

@extends('layouts.site') 

@section('js') 
@parent 
{{ HTML::script('js/b.js') }} 
@stop 

@section('css') 
@parent 
{{ HTML::style('css/b.css') 
@stop 

這對我的偉大工程。我的應用程序中的子頁面非常詳細地說明了他們需要哪些額外資產,因此以這種方式控制它們是非常可行的。

+0

感謝您的幫助。 –

相關問題