私はDrupalのブロックにカスタムフィールドを追加できますか?私は、ページの全幅にわたるヘッダー領域を持っています。下にはボディコンテンツの左側の列と、さまざまなブロックの右側のサイドバーが表示されます。ヘッダー領域には、その上にテキストが表示された背景イメージが必要です。背景画像とテキストのカスタムフィールドを持つブロックを使ってこれを行うことを望んでいました。Drupal 7のブロックにカスタムフィールドを追加するには?
答えて
ビューモジュール、フィールドとブロックを使用してこれを達成できます。
- 画像アップロードフィールドを持つコンテンツタイプと呼ばれる背景イメージを作成し、ビューを使用した
- を表示したいのですが、他のフィールドは、ブロックとして表示するビューを作成します。あなたは、書きたいフィールドを設定することができます。
- ビューの設定を使用して、背景画像を画像ではなくパスとして表示します。例えば
あなたは、ビューでは、この使用してフィールド交換のようなものを設定することができ:
<div style="background: [field_image] left top no-repeat">
<h2>[title]</h2>
<p>[field_whatever]</p>
</div>
それはやり過ぎのビットのように思えるが、それは、クライアントの手にそれを得るでしょう。また、特定のノードIDだけを使用して、100万のバックグラウンドイメージノードを作成せずにサイトを破壊するような制限を加えたい場合もあります。お役に立てれば。
エンティティにはフィールドのみを添付できます。ブロックはエンティティではありません。フィールドで問題を解決できないのではないかと恐れています。
ブロックのコンテンツを表示するテキストに設定し、CSSを使用してdivをターゲティングし、その上に背景イメージを配置することをお勧めします。
また、ブロックコンテンツのフィルタを「フルHTML」に変更して、スタイルをインラインで書くこともできます。
<div style="background:url(some/path)">Block content here</div>
Node Blocksを使用して、ブロックを自動的に作成するコンテンツタイプを定義できます。それから少しのCSSで、あなたがしたいことをすることができます。
hook_block_info()
とhook_pages_block_view()
を使用してコード内にカスタムブロックを作成することをお勧めします。次に、追加のフィールドをhook_block_configure()
で追加します。
フォームapiを使用して、任意のタイプのフィールドを追加できます。
はい、フォーム要素を追加するだけです。ジョブ。 hook_block_saveに入力されたデータの格納を処理する必要もあります。これは変数テーブルに文字列を書き込むだけの場合は比較的簡単ですが、画像を扱うときはもっと複雑になります。 – marcvangend
Bean moduleを使用すると、フィールド、画像フィールドまでのカスタムブロックタイプを作成できます。これは、ブロックモジュールとうまく一体化しています。 http://www.youtube.com/watch?v=Eu1YNy-BNG8
私がやっているやり方は、コンテンツタイプ「ブロックコンテンツ」を作ることです。そこには、あなたが望むだけ多くのフィールドを作成することができます。
次に、ブロック(mynodetype)が表示されるノードタイプでノード参照フィールドを作成します。
次に、ビューを作成します。ブロック:つまり、「カスタムブロック」では、関係のコンテキストを指定します。ほとんどの場合、このコンテキストは次のようになります。 "mynodetype"の参照フィールドで参照されるノードのフィールドを表示します(nodetype:ブロックコンテンツ)。
これは非常にきれいな解決策であり、必要なときに表示されるブロックが1つしかないため、コンテンツはノードに残っており、ブロック管理ページは汚染されていません。
- 1. Drupal 7:ブロックビューにリンクを追加する
- 2. Drupal 7:オーガニックグループにプライベートフォーラムを追加する
- 3. drupalのカスタムフィールドのWYSIWYG 7
- 4. Drupal 7カスタムフィールドのレンダリング方法
- 5. Drupal 7:カスタムフィールド情報をページに追加するにはどうすればよいですか?
- 6. Drupal 7、プログラムでfield_imageをエンティティに追加
- 7. Drupal:ブロックにpdfリンクを追加するには?
- 8. drupal 7にKMZファイルを追加するには?
- 9. Drupal 7カスタムフィールドごとの受注
- 10. ブロック内のPHPロゴコール - Drupal 7
- 11. Drupal 8ブロック形式のフィールドリンクを追加
- 12. Drupal 7 - プログラマチックにノードにフリータグを追加する
- 13. drupalのテキストエリアにデフォルトのテキストを追加する7
- 14. drupalの既存モジュールに新しいカスタムページを追加する7
- 15. Drupal 7 - 各ページに画像のサイクルを追加する
- 16. Drupal 7 - テーマ/テンプレートファイルのビューアンカーに属性を追加する
- 17. Drupal 7は、フロントページにテキストブロックを追加します。
- 18. 他のコンテンツと一緒にフォームをDrupal 7ブロックにレンダリングする
- 19. GoogleアナリティクスコードをDrupal 7に追加する方法
- 20. Drupal 7. PHPでノードに画像を追加する
- 21. Drupal 7ビューにCSSを追加する方法
- 22. Drupal 7 Viewsリスト、リンクを追加
- 23. のDrupalでカスタムフォームにCCKフィールドを追加します7
- 24. 私のカスタムフィルターを作成する方法を追加するにはdrupal 7
- 25. タスクリストにプロジェクトのカスタムフィールドを追加する
- 26. 私のアプリケーションにカスタムフィールドを追加する
- 27. drupal 7ティーザーに欠けているread-moreリンクを追加するには
- 28. Magento - レビューフォームにカスタムフィールドを追加
- 29. Drupal 7のコアフィードアグリゲータにフィールドを追加する方法はありますか?
- 30. ユーザー/ユーザーの間にカスタム列を追加adminページテーブルdrupal 7
ブロックを作成するときに、必要なフィールドを選択できます。これらのフィールドをカスタム方法でレンダリングする方法を参照していますか? そうでなければ、Drupalはすでにあなたにそれをさせることができます。 – Deleteman
@Deleteman:あなたはおそらくコンテンツタイプを考えていて、ブロックにはフィールドがついていません – Clive
次回は、drupal.stackexchange.comでDrupalの質問を投稿することを検討してください。 – gogowitsch