Amnesiac

仕事でちょっと詰まった箇所の健忘録。

MTでカスタムフィールドの画像を出力

MTで、って書いてたけどpowerCMSです。

powerCMSについては記事が少ないので、超初心者用として、健忘録を。

 

実装したのは下記。

1.カスタムフィールドで画像をアップロード

2.管理画面でこの画像があったら、対象ページにその画像をダウンロードするボタンリンクを出力する

という流れ。

 

まずはカスタムフィールドで、画像をアップできるように種類:アイテムで設定。

f:id:cidolu2:20180511152448p:plain

これ、テンプレート例のmt:ifタグで入れると、とりあえず、すんなり表示するんだよね。

知らなかった。

 

でもこれだけだと、<mt:tekito->の部分にアップしたファイル名が表示されるだけ(クリックすれば画像は開く)。

 

なので、画像がダウンロードできるようにMTタグを設置しなくちゃいけない。

で、実装したのは下記です。※ボタン装飾のcssは除く。

<mt:If tag="tekito-">
<mt:tekito-Asset>
<a href="<$mt:AssetURL$>">
データをダウンロードする
</a>
</mt:tekito-Asset>

</mt:If>

 

解説としては

<mt:If tag="tekito-">
この中身が成立するなら出力する

</mt:If>

 

で、その中身部分が、

<mt:tekito-Asset>
指定したタグのアイテムを表示する
</mt:tekito-Asset>

なので、

<a href="<$mt:AssetURL$>">
データをダウンロードする
</a>

※$mt:AssetURL$はリンクを出力

という流れで、あとはaタグを装飾すればダウンロードボタンができあがります。

 

ダウンロードについてはアイテムをzipにするとか、download属性やJS,PHPを使うんだおで、色々できますねー