如何在JSON模板中创建复杂的{或}语句

时间:2014-03-20 17:04:51

标签: json jsontemplate

我创建了一些JSON Template语句,用于在Squarespace的Page Settings中检索缩略图。它的工作原理就像它应该的那样,但我有3个部分可以从博客列表,博客项目和常规页面中获取。

现在,当您访问网站时,代码会运行所有三个代码,并且我想插入{or}语句,这样就可以正确地组织和运行。

让我感到震惊的是,我有一个{.section}和一个{.main-image?}{.section mainImage}所以我不知道在哪里放置{or}并拥有这三个代码段分组为一个。

我该怎么做呢?

<!--Displays Thumbnail image from first blog post in the blog list-->
{.section items.0}
{.main-image?}
            <div class="color-overlay"></div>
<figure class="content-fill main-image"><img {@|image-meta}></figure>
{.end} 
{.end}

<!--Displays Thumbnail image blog post-->       
{.section item}
{.main-image?}
            <div class="color-overlay"></div>
<figure class="content-fill main-image"><img {@|image-meta}></figure>
{.end} 
{.end}

<!--Displays Thumbnail image in a Page-->       
{.section collection}
{.section mainImage}
            <div class="color-overlay"></div>
<figure class="content-fill main-image"><img {@|image-meta}></figure>
{.end} 
{.end}

让我感到震惊的是,我有一个{.section}和一个{.main-image?}{.section mainImage}所以我不知道在哪里放置{or}并拥有这三个代码段分组为一个。

1 个答案:

答案 0 :(得分:0)

找到答案!我需要用

包装整个部分

{。如果items.0 || item} .. {或} .. {end}

见这里:

{.if items.0 || item}

        <!--Displays Thumbnail image from first blog post in the blog list-->
        {.section items.0}
        {.main-image?}
                    <div class="color-overlay"></div>
        <figure class="content-fill main-image"><img {@|image-meta}></figure>
        {.end} 
        {.end}

        <!--Displays Thumbnail image blog post--> 
        {.section item}
        {.main-image?}
                    <div class="color-overlay"></div>
        <figure class="content-fill main-image"><img {@|image-meta}></figure>
        {.end} 
        {.end}

        {.or}

        <!--Displays Thumbnail image in a Page--> 
        {.section collection}
        {.section mainImage}
                    <div class="color-overlay"></div>
        <figure class="content-fill main-image"><img {@|image-meta}></figure>
        {.end} 
        {.end}

        {.end}