LoginSignup
3
8

More than 5 years have passed since last update.

Zendesk * TOPページのカスタマイズに使えるテンプレート【FAQ特化型CMS】

Posted at

テンプレートの基本

zendeskでのテンプレート言語には{{ }}を使います。
{{この中に書く}}

終了を表す場合は{{/ }}を使います。
{{始まり}}
{{/終わり}}

コメントアウトは{{!-- --}}を使います。
{{!--複数行もOK--}}

カテゴリ・セクション・記事の出力

zendeskの基本階層はカテゴリ>セクション>記事という3階層で、
記事は、必ず1つのカテゴリ・セクションに紐づけられています。
出力には{{each}}を利用しますが、いずれを出力する場合もカテゴリから順に表記する必要があります。

カテゴリを1つずつ出力する場合
html
{{each category}}
  <p>{{name}}</p>
{{/each}}
セクションを1つずつ出力する場合
html
{{each category}}
  {{each section}}
    <p>{{name}}</p>
  {{/each}}
{{/each}}
記事を1つずつ出力する場合
html
{{each category}}
  {{each section}}
    {{each article}}
      <p>{{title}}</p>
    {{/each}}
  {{/each}}
{{/each}}

カテゴリ内・セクション内・記事内で出力できる要素と呼び出し名はそれぞれ決まっています。
{{title}} {{name}} など
zendesk developers - Objectsに詳しく乗っています。

なお、TOPページにおいて、ひとつのカテゴリ・セクションの記事のループは6つまでで、6つ以上記事がある場合は「もっとみる」を表示出来ます。

条件分岐

とはいえ、このカテゴリは記事まで出したい!
このカテゴリはセクションまで!
など種類によって出し分けしたい場合があります。

上記のような条件分岐には{{is}}があります.
{{is ●● '××'}}で●●が××かを判定、trueがかえれば実行されます。

「お知らせ」カテゴリの記事を表示
html
{{each category}}
  {{is name 'お知らせ'}}
    {{each article}}
      <p>{{title}}</p>
    {{/each}}
  {{/is}}
{{/each}}
「お知らせ」カテゴリの記事を表示、それ以外のカテゴリはセクションを表示

{{else}}を使うとfalseの場合の処理も合わせて記入できます。

html
{{each category}}
  {{is name 'お知らせ'}}
    {{each article}}
      <p>{{title}}</p>
    {{/each}}
  {{else}}
    {{each section}}
      <p>{{name}}</p>
    {{/each}}
  {{/is}}
{{/each}}

else if処理を行いたい場合

残念ながらelse if的な構文が無いので、苦肉の策としてこうしてみました

「お知らせ」と「重要」以外のカテゴリはセクションを表示
html
{{each category}}
  {{is name 'お知らせ'}}
  {{else}}
    {{is name '重要'}}
    {{else}}
      {{each article}}
        <p>{{title}}</p>
      {{/each}}
    {{/is}}
  {{/is}}
{{/each}}
3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8