MT6 Data APIを使ったアクセスランキングスクリプトのつづき。
下記人気記事ランキングのページはスクリプトで自動生成しているため、サムネールについてもスクリプト側で処理する必要がありました。
[人気記事ランキング | wonderdriving.com]
今回も MT6 Data APIを使ったプラグインで解決してもらいました。
MT6 Data APIを使ってアセットのサムネールを自動作成するプラグインを作ったよ - uehatsu's tech blog1位から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の出番。スクリプトでがりっとやってしまおうというのが今回のお題です。
その結果、カテゴリアーカイブなどでもサムネール画像が表示されるようになりました。
デフォルト画像が出ているのはエントリー中に画像が埋め込まれていないものなので、正常動作です。
これで色とりどりの画像がでて賑やかになりましたね。
当ブログもこのスクリプト、プラグインを適用予定です。
このスクリプト、プラグインにご興味のある方はぜひワンダーツー株式会社までご連絡、ご相談下さい。