MT6 Data APIを使ったサムネール自動作成、外部画像(flickr)の取り込み&asset追加スクリプト

MT6 Data APIを使ったアクセスランキングスクリプトのつづき。

下記人気記事ランキングのページはスクリプトで自動生成しているため、サムネールについてもスクリプト側で処理する必要がありました。

人気記事ランキング | wonderdriving.com

今回も MT6 Data APIを使ったプラグインで解決してもらいました。

MT6 Data APIを使ってアセットのサムネールを自動作成するプラグインを作ったよ - uehatsu's tech blog

1位から30位までのランキング一覧を作成するにあたって、MTMLで作成しているアセット画像のサムネールのURLを取得する必要が出てきました。 アセットのサムネールには生成する時に独自の命名規則があるので、それをガリっと正規表現で書いてやる事もできるのですが(最初はこの方法で実装していた)、そのサムネールが存在しなかった時に画像が表示されず「画像が無い場合はデフォルト画像を出してね」的なjQueryを書いてやるなどしないと都合が悪く、ちょっとなんだかなと思っていました。(もちろん、スクリプトの中でUAを作りその画像にアクセスできるかどうか確認する方法もあります)

で、最終的に考えついたのが「だったらサムネールを自動生成するDataAPI拡張プラグイン作っちゃえばいいじゃん」というもの。早速壱さんのブログを検索しData API拡張プラグインをゲットし内部構造を勉強。30分ちょっとで書けました。

続いて紹介するのは、これまでの過去エントリーのサムネール画像。通常エントリー作成時にassetに追加しつつカスタムフィールドに設定することでカバー画像やサムネール画像として表示されるのですが、すでに数百あるエントリーで手作業で行うのは大変。

そこで今回もMT6 Data APIのスクリプトで処理してもらいました。

MT6 Data APIを使って外部サイトの画像をエントリーアセットに追加するスクリプトを作ったよ - uehatsu's tech blog

うちのブログメディアは基本flickrに上がっている画像を引っ張ってHTMLに貼付けています。その中のこれという画像を個別にアセットとしてアップロードし、メイン画像としてカスタムフィールドに放り込むとMTMLで色々と画像が処理される仕組みになっています。

この仕組み、今からアップするエントリーは個別にその作業をすれば良いのですが、今まで書いて来た数百件にのぼるエントリーに改めてこの作業をするのは骨が折れます。そこでData APIの出番。スクリプトでがりっとやってしまおうというのが今回のお題です。

その結果、カテゴリアーカイブなどでもサムネール画像が表示されるようになりました。

ミニ四駆【ワンダードライビング】

デフォルト画像が出ているのはエントリー中に画像が埋め込まれていないものなので、正常動作です。

これで色とりどりの画像がでて賑やかになりましたね。

当ブログもこのスクリプト、プラグインを適用予定です。

このスクリプト、プラグインにご興味のある方はぜひワンダーツー株式会社までご連絡、ご相談下さい。