標準のタイトル/テキスト形式の代わりに単一の画像フィールドを含むDrupal 7でカスタムブロックを構築したいと思います。これはフロントページで使用され、HTMLを話さないエディターが、そこに表示される大きなフロント画像を簡単にアップロードおよび更新できるようにします。ブロックは1つしかないので、コンテンツタイプよりもブロックの方が適切だと思います。 Drupal 6の一連のカスタムブロックを作成しましたが、それらはすべてテキストフィールドベースであり、画像アップロードフィールドが必要になったため、どのように問題に対処すればよいかわかりません。誰かが私を正しい方向に向けたいですか? hook_block_view
内から画像フィールドを作成するにはどうすればよいですか?
(とにかく)コンテンツタイプを作成し、モジュール Node Blocks を使用できます。このコンテンツタイプで作成したすべてのコンテンツは、自動的にブロックとして利用できます。作成する必要がある場合は、少しオーバーヘッドがかかるかもしれません。
別の解決策は [〜#〜] bean [〜#〜] モジュールかもしれません。しかし、モジュール名を削除するだけで、機能しませんでした。
以前に(コードで)ブロックを作成したことがある場合。アップロードされた画像をサイトからプルしてフロントページブロック内に表示するコードでブロックを作成します。
次に、ユーザーの管理メニューアイテム/ページを作成します。シンプルなFAPIフォームで、 managed_file 要素タイプを使用して画像をアップロードできるようにします。
次に、form_submit関数で、likevariable_set('mytheme_frontpage_image', $form_values['values']['fid'])
を使用して、アップロードされた画像のfidを保存します。
大量のコードではありません:hook_block ...必要に応じてimage_stylesを使用できます。管理フォームにはhook_menuおよびFAPIを使用できます。
いくつかの調査の後、私は Image Block-module を偶然見つけましたが、UXで完全に売れたわけではありませんが、今回の問題は解決しました。ただし、推奨されるソリューションよりもいくつかの利点があります。
すべての提案をありがとう!