9

単純な静的 Web サイトに assemble.io を使用していますが、{{title}} タグに問題があります。問題の大まかな概要は次のとおりです。

ここに私のlayout.hbsがあります:

<!DOCTYPE html>
<html>
  <head>
    <title>{{title}}</title>
  </head>
  <body>
    <!-- the body tag is used to "pull in" content from pages -->
    {{> body }}
  </body>
</html>

データ用の 2 つの json ファイルがあります。

foo1.json

{
  "title": "Hello world I am title 1"
}

foo2.json

{
  "title": "I am a different title"
}

そして、私は2つのページを持っています:

foo1.hbs

{{#foo1 }} 
 {{> module1 }}
 {{> module2 }}
 {{> module3 }}
{{/foo1 }}

foo2.hbs

{{#foo2 }} 
 {{> module1 }}
 {{> module2 }}
 {{> module3 }}
{{/foo2 }}

私のgruntfile.jsスニペット:

options: {
  layout: "src/responsive/layouts/layout.hbs",
  partials: 'src/responsive/modules/**/*.hbs',
  data: 'src/responsive/data/**/*.json',
  flatten: false
},
pages: {
  expand: true,
  cwd: 'src/responsive/pages',
  src: '**/*.hbs',
  dest: 'src/'
}

「grunt assemble」を実行すると、ページ タイトルが表示されません。{{title}}これは、layout.hbs を変更した{{foo1.title}}かのようにコンテキストと関係があると思います{{foo2.title}}が、このテンプレートを共有しているため、両方のページに同じタイトルが付けられます。

{{title}}渡されるすべてのjsonファイルに対してinlayout.hbsのコンテキストを機能させるにはどうすればよいですか?

A.

4

1 に答える 1

3

@Adiあなたが説明した構造を含むレポをここにセットアップします。

このコードを layout.hbsで変更したところ、期待どおりに機能しています。

<!DOCTYPE html>
<html>
  <head>
    <title>{{page.title}}</title>
  </head>
  <body>
    <!-- the body tag is used to "pull in" content from pages -->
    {{> body }}
  </body>
</html>

参照できるレポがある場合は、問題の追跡に役立つ可能性があります。

お役に立てれば。

于 2014-07-28T04:13:34.360 に答える