« カラムーチョの香りとそぼろピザと帯解寺 | Main | Account Types モジュールを翻訳 »

imagefieldとimagecacheを組み合わせる

Drupalで画像付きのノードを作成するには、いくつか方法があるのですが、最も柔軟に手を加えることのできる方法が、imagefieldとimagecacheを組み合わせる方法だと思います。
まあその分、いろいろと設定しなくてはいけないところも多いわけで、面倒くさい点もありますが。

必要なモジュール
CCK
Contemplate
imagefield
imagecache

1. imagecacheのプリセットを作成する
admin/settings/imagecache でimagecacheのプリセットを作成します。
プリセットというのは、imagecacheで作成する画像の高さや幅をあらかじめ指定した設定のことです。
Preset namespace:にプリセットの名前を入力して「Create preset」ボタンを押すと、プリセットが作成されます。
画像の詳細を設定するため、Add a new actionでアクションを選択して「Update preset」ボタンを押し、アクションの詳細を設定します。

今回の例では「photo_thumbnail」「photo_mainimage」という2つのプリセットを作成しました。
photo_thumbnail = action:scale( width:120, height:120, Scale to fit:Inside dimensions, weight:0 )
photo_mainimage = action:scale( width:400, height:400, Scale to fit:Inside dimensions, weight:0 )

2. コンテンツタイプを設定する
Imageタイプの項目があるコンテンツタイプを設置します。
admin/content/types で既存のコンテンツタイプを編集するか、新しくコンテンツタイプを追加します。

今回の例では新しくコンテンツタイプ「Photo」を作成し、そこにImageタイプの項目を追加しました。
Imageフィールドのラベルに「photo」、ファイルパスに「photo」を指定し、必須にチェックを入れ、その他の項目は変更なしです。

3. テンプレートを設定する
admin/content/templates でコンテンツタイプ「Photo」用のテンプレートを作成します。
それぞれのテンプレートにimagecacheのスニペットを入力して、「出力に適用する」にチェックを入れ、送信ボタンを押します。

今回の例ではティーザーのテンプレートに
<?php print theme('imagecache','photo_thumbnail',$node->field_photo[0]['filepath'],$node->field_photo[0]['title']) ?>
本文のテンプレートに
<?php print theme('imagecache','photo_mainimage',$node->field_photo[0]['filepath'],$node->field_photo[0]['title']) ?>
を追加しました。

以上で、Photoのコンテンツを作成すると、ティーザーと本文にリサイズされた画像が表示されるようになります。

|

« カラムーチョの香りとそぼろピザと帯解寺 | Main | Account Types モジュールを翻訳 »

Drupal」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/24638/16263206

Listed below are links to weblogs that reference imagefieldとimagecacheを組み合わせる:

« カラムーチョの香りとそぼろピザと帯解寺 | Main | Account Types モジュールを翻訳 »