2017-03-27 2 views
0

私はJekyllを使用して求人リストのページを作成しています。データファイルにエントリがあるかどうかを調べるJekyllに条件付きロジックを追加します。

使用可能なポジションがない(データファイルが空の場合)特定のメッセージが表示される条件を追加したいと考えています。

だから私はリストが表示されなければならないと私はリストまたはメッセージを示すためにしようとしたコードがあるjob.htmlあります

<!-- Jobs --> 
<section class="jobs"> 
    {% if site.data.jobs == '' %} 
     <h1>No job openings right now!</h1> 
    {% else %} 
     {% for job in site.data.jobs %} 
      <h1>{{ job.title }}</h1> 
      <h2>{{ job.link }}</h2> 
     {% endfor %} 
    {% endif %} 
</section> 

それは動作しませんでしたので、私はハックしようとしたがそれそうのようなだけで、空のタイトルタグがあるかどう検証することにより:

<!-- Jobs --> 
<section class="jobs"> 
    {% if site.data.jobs.title == '' %} 
     <h1>No job openings right now!</h1> 
    {% else %} 
     {% for job in site.data.jobs %} 
      <h1>{{ job.title }}</h1> 
      <h2>{{ job.link }}</h2> 
     {% endfor %} 
    {% endif %} 
</section> 

も動作しませんでした。任意のアイデアをどのようにこれを解決するには?

答えて

0

データファイルがsite.data.jobsfalseことになりますので、あなたがメッセージを表示することを確認することができ、空の「ジョブ」(その場合はfor文は実行されません):

{% unless site.data.jobs %} 
    <h1>No job openings right now!</h1> 
{% endunless%} 

データの場合ファイルが全く存在しない場合、site.data.jobsnilとなりますので、上記のコードも有効です。ちょっと

{% assign jobs_size = site.data.jobs | size %} 
    {% if jobs_size == 0 %} 
     <h1>No job openings right now!</h1> 
    {% else %} 
    ... 
+0

その他のソリューション

別のアプローチは、site.data.jobs配列のサイズをチェックすることができます!どうもありがとう!それは魅力のように働く。私はunlessの声明に行った。 –

関連する問題