Movable Type技術情報

画像のサムネイル化まとめ

いたはし 2010年03月08日

こんばんは、いたはしです。
最近サムネイル周りで非常に苦しんだので、以下にまとめておきます。

タグ

MTAssetThumbnailLink
自動で生成したサムネイル画像を出力するタグを取り出す
MTAssetThumbnailURL
自動で生成したサムネイル画像のURLを取り出す

特筆事項とくになし。動くのでOk。

アトリビュート

width,height
指定したサイズに合わせて高さ、幅を調整してくれる。
ただし二つ同時に指定すると、片方処理したあとは満足して何もしてくれなくなる。
幅○○px×高さ○○px以内でサムネイルをおさめる、ということはしてくれない(しろよ!)ので、アップする画像の比率に注意。サムネイル指定を長方形とかにしておくと、正方形の画像が来たときにどっちかはみ出る。
square
指定したサイズに合わせて正方形のサムネイルを作成してくれる。
ただし、正方形の画像でない場合、正方形化したあとに幅ないし高さのはみ出た部分をカットして表示する。カットする際は画像中心から正方形になるように切り落とすので、人物の首とかがはみ出ていた場合、大変なことになる。 綺麗にサムネイル化してくれるしはみ出さなくなるし↑のwidth,heightの問題は解決するけど人物写真だと厳しい。
scale
指定した%で縮小してくれる。
ある程度均一なサイズ、比率の画像であれば問題なさそう...なものの、まちまちなサイトの場合は使うに使えない。

結論...サムネイルの利用は計画的に。

投稿者 いたはし : 03/08 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 はてなブックマーク数

検索エラー:Can't call method "server_offset" on unblessed reference

いたはし 2009年12月17日
Can't call method "server_offset" on unblessed reference

検索を行おうとすると、上記のようなエラーが出る場合があります。
検索のフォームにIncludeBlogsの指定を入れる事で回避できます。

検索対象が自ブログの場合

<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />

検索対象が全ブログの場合

<input type="hidden" name="IncludeBlogs" value="<MTBlogs include_blogs="all"><$MTBlogID$><MTUnless name="__last__">,</MTUnless>" />
投稿者 いたはし : 12/17 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 はてなブックマーク数

プラグイン応用 Lesson 1 - AutoTaggingで自動関連付け

いたはし 2009年11月21日

どうもこんにちは!いたはしです。 記事を書くはずが、つい癖でテンプレートの編集画面を開いてしまう今日この頃です。 さて、皆さん、弊社のプラグインディレクトリご覧になってます? このページには、今までスカイアークが公開してきた色んなプラグインが全部載ってます。 今のところだと...57個。作り過ぎですよぴろりさん。けしからんのでもっとやってください。 というわけで、前述の通り山ほどあるプラグインですが、 「○○が出来るよ!」とざっくり書いてはいるものの、意外と応用方法とかって紹介してないんですね。 なので、今後のいたはしの回はそんな感じにしようかと思います。お楽しみに! では、第1回目。皆大好きPageButeプラグインは...うん...まあ...ページ分割なんで...、 AutoTaggingプラグインと、こちらのTagSupplementalsプラグイン(※弊社のプラグインではありません)を使って、関連記事一覧を自動生成するヒントをご紹介します。 AutoTaggingプラグインは、記事保存時に、 本文やタイトル、追記、概要、キーワードに既に登録されているタグと同じ言葉が含まれていた場合、自動的にタグを付与してくれます。 例えば、「スカイアーク」「PageBute」というタグが既に登録されていた場合、 「スカイアーク」あるいは「PageBute」という単語を含む記事を保存する(しなおす)と、自動的に記事に上記のタグが入ります。 いちいちタグ付けする手間なく、記事を保存するだけで他の記事につけられたタグと同じタグが自動で入ってくれるわけです。 TagSupplementalsプラグインは、記事につけられたタグをもとに、同じタグが入った記事を一覧で出してくれます。 あ、出し方は既出しまくってるんで、あえて紹介しません。ぐぐってください。 ここまで読めば、二つのプラグインを使って、煩雑なタグ入力などは全くせずに、関連記事の一覧が作れるはず! チャレンジしてみて、わからなかったらコメントでお気軽に質問ください。

MT5でメール送信内容が文字化けしてしまう場合

方川 2009年11月19日

こんにちは。方川です。

さっそくですが、タイトルの通り、MTのメール通知などが文字化けしてしまって「なんで!?」と思った方、結構いるんじゃないでしょうか?

MT4の頃は意識する必要はなかったと思いますが、MT5rc2のコードでは、config情報にMailEncodingの初期パラメータが設定されてないようで、そのため代用としてPublishCharsetの文字コードを利用してしまうようです。結局のところ、ヘッダ情報で送ってる文字コードと合致しない場合、問題がおきるみたいですね。

対処方法としてはmt-config.cgiに直接「MailEncoding ISO-2022-JP」等を記述することで回避できるようです。

 

 

 

 

 

投稿者 方川 : 11/19 | トラックバック (1) このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 はてなブックマーク数

MovableTypeのconfig.yamlでコールバック優先度を設定する方法

ぴろり上西 2009年11月02日

 Movable Type 4 から、config.yaml に記述を設定することで、今まで Perl のスクリプトファイルで作成していたプラグインのほとんどを代替することができるようになりました。例えば、イベントコールバックを定義する場合、従来のPerlスクリプトファイルとconfig.yamlでそれぞれ書くと、以下のようになります。

MT::Foo->add_callback("pre_save", <priority>, <plugin object>, \&callback_function);
callbacks:
    MT::Foo::pre_save: $MT::Foo::callback_function

 ところが、config.yamlではpriorityの項目が見当たりません。これは以下のようにすることで設定できることが判りました。

callbacks:
    MT::Foo::pre_save:
        code: $MT::Foo::callback_function
        priority: 5

 config.yamlで記述されたプラグインが複数あり、それらが同じコールバックを使う場合でも、これで確実にハンドラの実行順序を指定できるようになりました。

投稿者 ぴろり上西 : 11/02 | コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 はてなブックマーク数

MTエンジニアブログ

配布プラグイン一覧

注目記事

RSS

ページの先頭へ戻る