2017-01-20 62 views
0

我是相當新的枝條。我正在創建一個模板,用戶可以在其中設置Google字體系列。他們爲這三個不同的選項設置了這些字體系列。枝條檢查是否有重複

正文文本 標題 導航

選定的值就會被裝在類似於模板:

<link href='//fonts.googleapis.com/css?family={{ theme.headings_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 
<link href='//fonts.googleapis.com/css?family={{ theme.body_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 
<link href='//fonts.googleapis.com/css?family={{ theme.navigation_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 

現在,當人們選擇了所有選項的模板將加載字體三次相同的字體,其絕對是一種理解。

如何制定規則或測試來檢查相同的字體值是否已經存在,如果沒有,請不要加載它?

我想在這樣的工作線的東西,但是這顯然是行不通的:

{% set fonts = theme.body_google_webfonts in [theme.navigation_google_webfonts, theme.navigation_google_webfonts] ? ...... %} 
+0

的控制器是一個更好的地方做這種邏輯 – DarkBee

回答

1

保持你已經包括在陣列記錄:

<link href='//fonts.googleapis.com/css?family={{ theme.headings_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 
{% set fonts_done = [ theme.headings_google_webfonts ] %} 
{% if theme.body_google_webfonts not in fonts_done %} 
    <link href='//fonts.googleapis.com/css?family={{ theme.body_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 
    {% set fonts_done = fonts_done|merge([ theme.body_google_webfonts ]) %} 
{% endif %} 
{% if theme.navigation_google_webfonts not in fonts_done %} 
    <link href='//fonts.googleapis.com/css?family={{ theme.navigation_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'> 
    {% set fonts_done = fonts_done|merge([ theme.navigation_google_webfonts ]) %} 
{% endif %} 
+0

真正的我正在尋找thx! – Meules