Lightboxで画像のタイトルを表示する
Lightboxプラグインで自動化という記事で、「a要素にrel="lightbox" を毎回書くのは大変なので、自動化させたいが、ソースコードを書きかえるのは面倒だし、間違いのもとにもなりですし、かといって完全に自動化するのもどうか?」と書きましたが、Lightboxで画像のタイトルを表示させるには、画像へのアンカーにtitle属性がないといけません。Lightboxを使わないにしろ、title属性が有るに越したことはありません。
というわけで、禁断のソースコードに手を加えます(笑)必ずバックアップを取ってください。
mt/lib/MT/Asset/Image.pmに手を加えます。334行目あたりの
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,
);
}
を
if ( $param->{thumb} ) {
$text = sprintf(
'<a href="%s" title="%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( $asset->label ),
MT::Util::encode_html( $thumb->url ),
$dimensions,
$wrap_style,
);
}
と書きかえれば、画像へのアンカーにtitle属性が付加されます。一応アイテムの名前が、data-caption="アイテムの名前"というふうに挿入されます。
参考までに、
MT::Util::encode_html( $asset->label ),
を
MT::Util::encode_html( $asset->description ),
とすれば、アイテムの概要が挿入されます。
コメント