2017-03-14 7 views
0

私は問題をよりよく説明しようとします...私は上品な人からサブテーマを作成しています。私はある種のUIを介してテーマに変数を渡す方法が欲しいです。私はDrupal 8(およびDrupal開発者)にはとても新しくなっていますので、詳細が必要な場合はお知らせください。例えばDrupal 8 Theme Variablesをオンザフライで設定するには?

私はしかし私が話している変数が最初にそこに設定されないのDrupalで前処理機能を認識していたレコードの

...

...さんは私から新しいノードを作成しましょう基本ページと呼ばれるコンテンツタイプ。私は、新しい基本ページを作成するときに、「列数、フォントファミリ、カラースキームなど」というオプションがあり、それをページごとに定義できる方法が必要です。そして、私のテーマでは、現在のページに設定されている値を動的に見てそれに応じてレンダリングすることができます。私はrequest.page変数のようなものでColdFusionのバックグラウンドから来ているので、これは私には全く新しいものです。

編集:私はコンテンツタイプにフィールドを追加することはできますが、メタデータであり実際の関連データではないコンテンツタイプにフィールドを追加することは悪い習慣であると言われました。

ありがとうございました。

答えて

0

私はParagraphsモジュールを調べます。これにより、UI内で設計する際に大きな柔軟性が得られます。

Bootstrap Paragraphsバンドルは、ゲートから事前に定義された段落(列、アコーディオンなどを含む)が付属しているため、別の優れたオプションです。また、カラースキーム、フォントファミリーなどのフィールドを簡単に追加することもできます。テンプレートでは正しいクラスをラップするだけでよいのです。

0

もう1つのオプションはPanelizerモジュールです。 Paragraphsモジュールより少し複雑ですが、Drupal 8では、ページ自体のライブドラッグアンドドロップ機能のため、(エンドユーザにとって)より使いやすいです。 Paragraphsは、編集フォームにドラッグアンドドロップ機能を提供します。

別のオプションは、​​を定義するカスタムモジュールです。また、ノードバンドル(コンテンツタイプ名)、キー、値を保持するフィールドタイプを作成することもできます。次に、前処理フックを使用してこの設定値を取得し、それをテンプレートで使用します。

関連する問題