2011-08-31 2 views
0

저는 지킬이 내 사이트를 렌더링하기위한 프레임 워크 인 Octopress를 사용하고 있습니다. 나는 Amazon의 제품 식별자 (asin)를 사용하여 Amazon에 질의를 허용하는 ruby-aaws gem을 감싸는 플러그인을 사용하고 있습니다. 페이지의 일부를 재귀 적으로 렌더링하고 출력을 생성하기 위해 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> 

나의 이해는 {% 캡처 VARIABLE_NAME %} ... {%의 endcaputre의 %} 캡슐화 VARIABLE_NAME하는 결과를 할당 무엇 렌더링입니다. 그러나 사이트를 생성 할 때 아무 것도 생성되지 않습니다. 캡처 태그 내에서 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"]로 이동하면 위의 코드가 완벽하게 작동합니다.

관련 문제