2011-08-31 111 views
0

我正在使用Octopress,這是Jekyll呈現我的網站的框架。我使用的是一個封裝了ruby-aaws gem的插件,允許使用Amazon的產品標識符(asin)向亞馬遜進行查詢。我想渲染頁面的一部分,循環訪問asins列表以生成輸出。這裏是我到目前爲止的代碼:解決液體標籤內部的液體變量問題

<section> 
    <h1>Recent Diversions</h1> 
    {% for asin in ["044656432X", "0743276396", "B001YT048E"] %} 
    {% capture a_image %}{{ asin | amazon_medium_image }}{% endcapture %} 
    {% capture a_link %}{{ asin | amazon_link }}{% endcapture %} 
    {% capture a_authors %}{{ asin | amazon_authors }}{% endcapture %} 

    <p>{{ a_image }}</p> 
    <p>{{ a_link }} by {{ a_authors }}</p> 
    {% endfor %} 
</section> 

我的理解是{%的捕獲變量名%} ... {%endcaputre%}呈現什麼被封裝,結果存放在變量賦值。但是,當我生成的網站沒有生成任何東西。如果我用捕獲標記中的asin引用替換單個asin,則頁面呈現正確。

我應該如何正確引用捕獲標記中的asin變量以使其工作?

+0

{{asin | amazon_medium_image}}

不起作用。它似乎asin不解決。此外,

{{{{asin}} | amazon_medium_image}}

也不解決。 –

+0

我認爲Liquid capture標籤會產生一個字符串,例如,它不適用於捕獲圖像。現在我需要複製/粘貼我想要顯示的每個項目的部分。 –

+0

我終於整理出來了。上面顯示的代碼位於名爲'aws.html'的文件中,該文件包含在該網站的主index.html中。看來Liquid並不允許在該級別上進行變量賦值。當我將變量賦值移動到'_config.yml'文件,即'asins:[「044656432X」,「0743276396」,「B001YT048E」]時,上面的代碼完美地工作。 –

回答

0

我終於整理出來了。上面顯示的代碼位於名爲aws.html的文件中,該文件包含在網站的主index.html中。看來Liquid並不允許在該級別上進行變量賦值。當我將變量賦值移動到_config.yml文件,即asins:[「044656432X」,「0743276396」,「B001YT048E」]時,上述代碼完美工作。