Разрешить переменную жидкость внутри жидкой бирки - PullRequest
0 голосов
/ 31 августа 2011

Я использую Octopress, который является основой для рендеринга моего сайта Jekyll. Я использую плагин, который обертывает драгоценный камень ruby-aaws, разрешая запросы к Amazon, используя идентификатор продукта Amazon (asin). Я хотел бы сделать часть страницы рекурсивно, просматривая список асинов, чтобы получить вывод. Вот мой код:

<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>

Насколько я понимаю, {% capture variable_name%} ... {% endcaputre%} отображает то, что инкапсулировано, и присваивает результат переменной-имени. Однако, когда я генерирую сайт, ничего не генерируется. Если я подставлю один asin для ссылок asin в тегах захвата, страница будет отображаться правильно.

Как мне правильно ссылаться на переменную asin внутри тега захвата, чтобы эта работа работала?

1 Ответ

0 голосов
/ 12 сентября 2011

Я наконец разобрался с этим.Приведенный выше код находится в файле с именем aws.html, который включен в основной файл index.html для сайта.Кажется, что Liquid не позволяет присваивать переменные на этом уровне.Когда я перемещаю присвоение переменной в файл _config.yml, то есть asins: ["044656432X", "0743276396", "B001YT048E"], тогда приведенный выше код работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...