先日、担当がクライアントにうかがった際にブログ(Movable Type5)について要望がありました。
ブログ記事作成時に画像をサムネイル表示で挿入した際、画像をクリックすると元画像が表示されるが、外してほしい。とクライアントより要望がありました。
ついでに、インデックスページに表示されるアイテム画像も拡大表示がいらないとのこと。
むしろ表示しなくてもいいと言われたそうだが、あった方が良いと説得したようです。しかしアイテムで拡大表示されなければなくてもいいのでは?と思いますが。
以前の記事、
Movable Type4:管理画面のカスタマイズのように、サイトレイアウト以外でもカスタムができるだろうと思い、調べてみました。
最初は、挿入する画像にtitleを挿入する方法として、
lib/MT/Asset にある Image.pmというファイルをいじると書いてあるので、早速FTPよりダウンロードして開いてみました。
330行目あたりに下記ソースがありimgタグを囲っているaタグを削除すればいいだろうと思い、aタグ
(赤字)を削除してアップしてみました。
画像挿入の際、元画像のリンクを無効 ←失敗if ( $param->{thumb} ) {
$text = sprintf(
'
<a href="%s"><img alt="%s" src="%s" %s %s />
</a>',
MT::Util::encode_html( $asset->url ),
MT::Util::encode_html( $asset->label ),
MT::Util::encode_html( $thumb->url ),
$dimensions,
$wrap_style,
);
}
すると、挿入した画像にリンクはかかってないのですが、肝心の画像が表示されない。
(;´▽`A``おかしいな~。aタグ外せばいいはずなのに。
あーでもないこーでもないと考えても、そこはWEB初心者の私。┐( ̄ヘ ̄)┌
考えてもわかるはずもないのでさらに調べていくと、DAICHIFIVE™ blogさんの
「MT5で画像挿入する際に元画像へのリンクをさせなくする」というエントリーを見つけました。
まさに求めていたものが!!!!!
いじるところは同じ場所でaタグを削除までは同じ。
その下の
MT::Util::encode_html( $asset->url ), を削除することで解決。
画像挿入の際、元画像のリンクを無効if ( $param->{thumb} ) {
$text = sprintf(
'
<a href="%s"><img alt="%s" src="%s" %s %s />
</a>',
MT::Util::encode_html( $asset->url ), ←この行も削除 MT::Util::encode_html( $asset->label ),
MT::Util::encode_html( $thumb->url ),
$dimensions,
$wrap_style,
);
}
次は、アイテムの画像のリンク無効作業。
こちらはウィジェットのアイテムのソースをいじれば何とかなるかなと予想。
アイテム画像のクリックによる元画像へのリンクを無効
ダッシュボード(管理画面)より、左メニューのデザイン→ウィジェットをクリック。
ウィジェットの管理ページを開き、ウィジェットテンプレートからアイテムを選択します。


<li class="item">の後、リンクタグ<a.....></a>
(赤字)を削除。
<mt:If tag="AssetCount">
<mt:Assets type="image" lastn="10">
<mt:AssetsHeader>
<div class="widget-recent-assets widget">
<h3 class="widget-header">アイテム</h3>
<div class="widget-content">
<ul>
</mt:AssetsHeader>
<li class="item">
<a class="asset-image" href="<$mt:AssetURL$>"><img src="<$mt:AssetThumbnailURL height="70"$>"
class="asset-img-thumb" alt="<$mt:AssetLabel$>" title="<$mt:AssetLabel$>" />
</a></li>
<mt:AssetsFooter>
</ul>
</div>
</div>
</mt:AssetsFooter>
</mt:Assets>
</mt:If>
保存して再構築して確認したら、きちんとリンクが無効になっていました。
今回は、少しうまくいかないところもありましたが、比較的短時間で作業ができました。
いろいろ経験することで少しずつスキルアップしている実感がしました。
最初は、Movable Typeを敬遠していましたがこれからのマルチデバイス、ソーシャルネットワーク時代にはうまく活用しなければいけないな。と思いました。
「ここでき!」