« カスタムフィールドのテキストリンク「表示」を変更 | メイン | 背景画像が印刷できない対処法 »

2010年11月01日

カスタムフィールド(Asset)で表示した画像にテキストリンク

カスタムフィールドあれこれ。またまた小粋空間さんへ質問させていただいきました。

状況:
author1、author2の2つのユーザーがおり、
それぞれ画像をアップロードできます。

現在、メインページには、それぞれのユーザーからアップロードされた
画像一覧が表示されています。

カスタムフィールドは、
名前「画像1」~名前「画像10」まであります。

名前「画像1」へアップロードされた画像は、
自動的に、
名前「画像9」へ1024サイズで、名前「画像10」へ768サイズで、
登録されます。

やりたい事:
1024サイズというテキストをクリックしたら、リンク先を「画像9」へ、
768サイズというテキストをクリックしたら、リンク先を「画像10」へ、
リンクを貼りたいです。


'View image' => '表示',

という風に、テキストリンクが1つしかないのですが、
上記のように、テキストリンクを2つ作ることはできるのでしょうか?

という質問をさせていただきました。

そして、一番やりたいことは、任意のテキストでカスタムフィールドでアップロードされた画像へリンクを貼りたい!という事なのです。

回答あれこれ

複数のテキストを作成することはできませんが、カスタムフィールドを使って画像をアップロードしているのであれば、アイテム用のテンプレートタグを組み合わせればなんとかなるかもしれません。

という事で、以下のやり方を教えていただきました!

<mt:XXXXXAsset>
<a href="<$mt:AssetURL$>1024サイズ</a>
</mt:XXXXXAsset>
<mt:YYYYYAsset>
<a href="<$mt:AssetURL$>768サイズ</a>

</mt:YYYYYAsset>

「XXXXX」は画像9のカスタムフィールドのテンプレートタグ名、「YYYYY」は画像10のカスタムフィールドのテンプレートタグ名を設定してください。

ちなみに「画像9」「画像10」というカスタムフィールドを登録しなくても、「画像1」の画像を表示させるときに、MTAssetThumbnailURLタグを使用すれば、異なるサイズの画像を表示させることが可能です。

<mt:ZZZZZAsset>
<a href="<$mt:AssetThumbnailURL width="1024"$>1024サイズ</a>
<a href="<$mt:AssetThumbnailURL width="768"$>768サイズ</a>

</mt:ZZZZZAsset>

「ZZZZZ」は画像1のカスタムフィールドのテンプレートタグ名を設定してください。

早速トライ!