web-dev-qa-db-ja.com

Twig Tweakを使用して、Drupal 8

フォームのタイトルを表示する必要があるWebformフォーム(以前のYAMLFormモジュール)があります。私が使用しているテンプレートは、page.html.twigに基づいています(twigデバッグの提案のため)page--webform--stories-submission.html.twig。

フォーム作成領域とadmin/help/tokenの両方にリストされているトークンによると、[webform:title]、[webform:url]、[webform:id]など、いくつかのトークンを使用できます。

私が使うとき

    {{ drupal_token('webform:title') }}

私のテンプレートでは、ページに印刷されるのは[webform:title]だけです。

正しく機能していることを確認するために、次のすべてのコードをテンプレートの中央に配置しました。

    {{ drupal_token('current-date:long') }}
    {{ drupal_token('site:name') }}
    {{ drupal_token('webform:title') }}
    {{ drupal_token('webform:id') }}

私はこれを手に入れます:

2017年1月18日水曜日-09:00 ECLKC [webform:title] [webform:id]

最初の2つはTwig Tweakが素晴らしいことであることを証明し、2番目の2つは私がまだ正しく行っていないことを証明しています。

誰かが私に次のステップを勧めることはできますか?

Tweakを機能させることができない場合は、変数を前処理する必要があると思いますか? Kintは私のタイトルがページ変数としてそこにあると言います:

'page' => array(25)
~
  '#title' => string(29) "Submit your Head Start Story!"

その場合、私はこのアドバイスに従う必要があると思います: Twig前処理関数にテンプレートを追加するための変数を追加するにはどうすればよいですか?

総括する:

  1. Twig微調整してタイトルを表示してもらうことはできますか?
  2. そうでない場合、テンプレートの前処理に変数を追加することについて、そのアドバイスを使用する必要がありますか?
3
Leraa

現在、Twig Tweakモジュールの drupal_token Twig関数は $ data)の受け渡しをサポートしていません 引数。webformエンティティが含まれます。

Twig Tweak module's issue queue で課題を作成したい場合があります。

2
jrockowitz

Twig微調整してタイトルを表示してもらうことはできますか?

トークンはそのようには機能しません。すべての場所で使用できる唯一のトークンは、質問の例のように、グローバルトークンです。特定のトークンは独自の環境でのみ機能し、twig Tweakがこれらすべての環境を提供することは不可能です。

そうでない場合、テンプレートの前処理に変数を追加することについて、そのアドバイスを使用する必要がありますか?

D7では、タイトルはページテンプレートの変数でした。これはD8で変更されました。参照 ページタイトルはブロックになりました

1
4k4