回答:
この答えは、こんな単純な質問に答えるのは不必要に複雑に思えるかもしれませんが、私は魚を配ることに興味がないので、釣りを教えたいと思っています。
他の回答は、<img>
タグを付けて画像をブロックに直接埋め込むことを提案しています。個人的には、このソリューションは「1回限り」であり、サイトのその他の機能が画像の自動再スケーリングなどの画像と相互作用するのを防ぐため、反対します。
2つの提案:
Panelsを使用することを強くお勧めしますが、Drupal初心者向けのセットアップと理解は通常非常に複雑なので、スキップすることをお勧めします。
ブロックで使用されるテキスト形式は、画像を許可する必要があります。フィルターされたHTMLを使用する場合<img>
、許可されたタグにタグを追加するか、完全なHTMLを使用できます(通常は推奨されません。注意して使用してください)。FTP経由ですでに画像をアップロードしている場合は、などを使用して画像を含めることができます<img src="/sites/default/files/image.jpg"/>
。
ユーザーインターフェイスを介して画像を簡単にアップロードおよび挿入できるようにしたい場合、よく使用される組み合わせは、CKeditorライブラリ(ckeditor.com)とMediaモジュールを備えたWYSIWYG APIです。これを使用する場合は、メディアフィルターをテキスト形式に追加し、CKeditorを使用するようにWYSIWYGプロファイルを構成します。次に、[メディアブラウザ]ボタンを使用して、エディタを介して画像(および他のメディア)をアップロードおよび挿入できます。
最初の質問-それはどのようなブロックですか?「新しいブロックの追加」リンクから作成した新しいブロックだけの場合は、HTMLコードを使用するか、WYSIWYG(表示されているものが表示される)エディターとして使用して、そこにブロックを配置できます。
2番目の質問-WYSIWYGモジュールがインストールされていますか?
画像をアップロードするためのアップロードツールも必要です。多くの人がここにあるIMCEを使用しています
CK Editorを使用する場合は、ファイルアップロードツールとしてIMCEを選択する必要があります
また、これらのモジュールをインストールしたら、CKエディターなどが基本的に未加工のhtmlをブロックに挿入するため、投稿した画像を表示できる入力形式を作成する必要があります
この記事をチェックしてください-http://drupal.org/documentation/modules/filter。それはあなたに入力フォーマットのローダウンを与えます
これはDrupalで始まる人にとっては困難なプロセスのように思えるかもしれませんが、いったんこつをつかめば、それはすべて理にかなっています。
個人的に私はWYSIWYGエディターのファンではありませんでした。代わりに、本体に直接PHPをコーディングすることを好みます。PHPをブロックで使用することにDrupalのピューリタンはきっと驚かれるでしょうが、管理者ユーザーのみがアクセスできる場合は問題ありません。
これらはすべて有効な回答であり、すべて特定の使用例で機能しますが、最も簡単な方法は、現在有効になっているテーマディレクトリに画像を配置し、ブロックコンテンツの本文フィールドがPHPコードで有効になっていることを確認するだけです。
<?php
$theme_name = 'name-of-enabled-theme';
/* optional parameters */
$alt_text = 'image-alt-text';
$image_width = '100';
$image_height = '200';
$image_class = 'the-class-name';
$image_id = 'the-id';
/* pass it all into theme_image() */
print theme('image', array(
'path' => drupal_get_path('theme', $theme_name) . '/path/to/image.jpg',
'alt' => $alt_text,
'width' => $image_width,
'height' => $image_height,
'attributes' => array(
'class' => $image_class,
'id' => $image_id
)));
?>
これにより、HTMLマークアップが生成されます。
<img width="100" height="200" alt="image-alt-text" src="http://www.mydomain.com/sites/all/themes/mytheme/images/imagename.jpg" typeof="foaf:Image" id="the-id" class="the-class-name">
テーマ関数に渡すすべてのものがテーマ名と画像のパスと名前である場合、ほとんどの属性/パラメーターは実際には必要ありません。レスポンシブサイトを構築する場合は、幅と高さの属性を含めず、代わりにクラス名を使用してCSSで100%に設定します。これは、イメージコンテナー要素もそのコンテナーに基づくパーセンテージであると想定しています。
theme_image()
関数が自己終了イメージ要素(<img />
)を生成しないという事実は常に私を悩ませてきましたが、私は認めざるを得ません:)
hook_block_view
...
今drupal 7では、別の良いオプションはBEANモジュールを使用することだと思います(「Beanはノードをブロックするエンティティの略です」)。このモジュールはImageblockほど単純ではありませんが、ブロックの機能をさらに拡張します。ノードの「コンテンツタイプ」を「ブロックエンティティ」として作成できます。画像を表示するためだけでなく、複数の画像、またはdrupalフィールドシステムで利用可能なその他のフィールドタイプ。Mediaモジュールに統合されたimageblockタイプのモジュールを検索するBEANにアクセスします。私の現在のプロジェクトで試してみます。
BEANモジュールについてもここで取り上げました。
前回のリリースは16年8月8日でしたが、メンテナンスステータスは新しいメンテナを求めています。開発ステータスはメンテナンスフィックスのみです。
私はDrupalの7.22に本当に速い1と簡単な解決策を使用しています- のWYSIWYGとエディタTinyMCEを3.5.8と私はまた、有効にしたIMCEモジュールと IMCE WYSIWYGの橋を
あなたは開いています
設定->コンテンツオーサリング-> Wysiwygプロファイル->フルHTMLを選択
またはどちらを使用しますか?
編集
設定では、ボタンとプラグインを開く必要があります。下部にあるのはIMCEで、独自のアップロードマネージャーを使用するためのアイコンが追加されています。
Wysiwygエディターが利用可能なサイトのどこでも使用できます。
Beanモジュールを入力してください。
Beanとは何ですか?Beanは、新しいタイプを提供するメソッドと考えてください(ノードと比較すると、これはコンテンツタイプになります)。必要な数のブロックを作成するための追加コンテンツインターフェースを提供します。Beanのコンテンツは、他のブロックと同じようにサイトの周りに配置できます。
簡単な説明:
画像ブロックは、画像を含む単純なブロックを作成できるモジュールです。このモジュールの6.xバージョンはImagecacheと統合され、7.xは動的な画像のサイズ変更と操作のためのコアImageモジュールの画像スタイルと統合されます。