Home > Movable Type Archive

Movable Type Archive

MT4でブログ記事をインポートするとき

インポートするファイルの改行コードが LF でないと正しくインポートされないようです。

何もインポートされていないのに「全てのデータをインポートしました」となってしまいます。

もしインポートできない場合は改行コード変更対応のテキストエディタ等で LF に変更しましょう。

  • Comments: 0
  • TrackBacks: 0

Add ClipsのMT用タグのバグ?を解消する

現状のタグだと記事タイトルにシングルクォート「 ' 」が含まれていると不具合が発生するので、

<$MTEntryTitle$>

を以下に書き換えることで解決します。

<$MTEntryTitle encode_js="1"$>

  • Comments: 0
  • TrackBacks: 0

アーカイブマッピングで引越し後のURL不整合をなくす

MTでブログ記事を書いた場合、出力されるファイル名が
post-<id>.html となってしまいます。(日本語のみのタイトルの場合)

<id>は可変ですので、ブログ引越し前と引越し後のURLに不一致が起こり、
リダイレクトの都合上やSEOの観点からもあまりよろしくありません。

そこで、ブログ記事のアーカイブファイル名を

年/月/日/時分秒.html (php)

というフォーマットに統一させてあげることによってファイル名が不可変となり、
引越し後のトラブルをなくすことができます。

設定メニューの場所ですが、MT3以前では「設定>公開」にありましたが、
MT4以降では以下に移動しました。

「デザイン>テンプレート>アーカイブテンプレート>ブログ記事」
の下のほうにアーカイブマッピングの設定項目があります。

%y/%m/%d/%h%n%s%x

カスタムを選らんで上記を入力し保存、再構築を行えば完了です。

  • Comments: 0
  • TrackBacks: 0

MT4で画像のアップロード時のサブディレクトリのデフォルトを指定する方法

ファイルアップロードで、サブディレクトリがデフォルトで指定できると便利。

やり方は2通り

[MT]/tmpl/cms/dialog/asset_upload.tmpl

の1行目に

<$mt:setvar name="extra_path" value="images"$>

の1行を追加する。images の部分は自由

もしくは、84行目あたりの

<input name="extra_path" id="extra_path" value="<mt:var name="extra_path" escape="html">" />

を value="images" などにする。 これもimagesの部分は自由

  • Comments: 1
  • TrackBacks: 1

MT4で別ブログの記事を表示する

Movable Type 4の新機能に複数ブログをまとめたポータルページの構築
とうのがありますが、なんてことはない、上位版 MT Enterprise の機能を引き継いだだけです。

方法:

MTEntries の属性に blog_ids="all | xx" を付加するだけです。

複数のブログを対象にできます。
allの場合は、すべてのブログを対象とします。
また、ブログIDを列記(カンマ区切り)すると、指定したブログのみを対象とします。

blog_ids は管理画面のURLに引数として入っています。
blog_id=x の x の数字です。

  • Comments: 0
  • TrackBacks: 0

MTカテゴリー名に半角<タグ>等を使う場合

カテゴリーの順番の並び替えに便利ですが、

全てのテンプレートの MTCategoryLabel タグ&
カテゴリー・アーカイブの MTArchiveTitle タグに
(できれば search_templates ディレクトリ内のfeedファイルのMTCategoryLabel タグも)

remove_html="1" 属性をつけてください。
特に RSS/Atom 関連はエラーが発生する可能性が高いです。

タグ以外に半角&や”を使う場合は encode_html="1" 属性もつけといたほうがいいです。

Continue reading

  • Comments: 1
  • TrackBacks: 1

MTプラグイン MultiBlog の謎

MultiBlogはMT内の複数ブログを連携させるプラグインです。

ブログ間でエントリーデータなどの共有ができます。

MultiBlogの便利な機能のひとつに、再構築の連携があります。

が、その設定にバグがあるみたいです。

例えば、サブブログBのMultiBlog設定で、

「メインブログAのエントリーを保存したときにサブブログBを再構築する」
when A saves an entry B Rebuild Indexes
という設定をしても反映されません。

「メインブログAのエントリーを公開したときにサブブログBを再構築する」
when A publishes an entry B Rebuild Indexes
という設定では反映されるときとされないときがあるようです。ふむむ。

で、本題ですが、これを反映させる裏技を発見しました。
全く関係ないように見えるプルダウンメニューの「saves an entry」をとりあえず
「publishes an entry」にしておいてから保存すると、何故か反映されるようです。

謎。

もうひとつの謎が、
Moblog Gateway (XML-RPC)経由だと上の裏技でも再構築されないことです。
これは仕様なんでしょうか。
どなたか、情報求ム。

  • Comments: 0
  • TrackBacks: 0

カテゴリの順番をスマートかつ簡単に並び替える方法

Movable Type カテゴリの順番を並び替えたくても、
巷にあふれる方法ではカスタマイズがめんどくさかったり、
カテゴリアーカイブのURLが変なことになったりする。

ここで紹介する方法は、

・プラグインが要らない
・カスタマイズが要らない
・カテゴリの説明(MTCategoryDiscription)を使わない
・URLが汚れない

で、スマートかつ簡単。

MT のカテゴリー管理画面で、

<!-- 10 -->カテゴリ名
<!-- 20 -->カテゴリ名
<!-- 30 -->カテゴリ名
<!-- 40 -->カテゴリ名
<!-- 50 -->カテゴリ名

と、カテゴリ名の前に HTML のコメントをつかって数字を入れてやればいい。
すると、数字の小さい順にカテゴリが並ぶ。

もちろんコメント(<!-- -->)はブログには表示されません。

カテゴリのURLも変(アンダーバーだけになったりとか)になりません。

これでもう MTCollate も pmHeadChanger も cutfirstchar.pl も必要ありませんね。

お試しあれ。

Continue reading

  • Comments: 0
  • TrackBacks: 6

MTEntryPrevious と MTEntryNext が表示されないバグ

MTEntryPrevious と MTEntryNext が表示されないと思ったら、こんなことに。

Six Apart - MovableType News: Berkeley DBの環境下でMovable Type 3.2日本語版をご利用のお客様へのお知らせ

Berkeley DBをご利用のお客様で、以下の現象を確認いたしましたので、ご案内いたします。
コメントの受信時に、MTEntryNext などのナビゲートリンクが消えてしまう。
再構築時におけるメモリー使用量の増加により、再構築できない現象が発生する可能性がある。
recently_commented_onの処理により、パフォーマンスが低下する可能性がある。
これらの問題について、現在修正版を準備中です。今しばらくお待ちください。

今しばらく待てないっていう人や、MTベータ版を使っている人は、以下にパッチがある。

Ogawa::Memoranda: MT 3.2でrecently_commented_onとBerkeleyDBに嵌っている人が多い件について

念のため、BerkeleyDBをObjectDriverに使うくらいなら最初からSQLiteを使った方がずっと幸せになれる(というかまだBerkeleyDBを使ってたのか、捨てちまえ)とご忠告申し上げます。

そうそう、MySQLやPostgreSQLとは言わないから、
最初からSQLiteにしときゃよかったつうはなしですな。

んで、mt-db2sql.cgi でBerkeleyDB → SQL変換を試すも、
dbdimp.c line 268 でエラーがでてだめぽ。
これはまた例のサーバの問題(さくらインターネット)と見た。

つうことで、上のページをパッチを試す。

ベータ版なので、Entry.pm のパッチは失敗するも、DBM.pm の修正だけで直ったみたい。
しばらくこれでいいや。

あ、一応パッチのあて方書いとこうかな。

dbm_flaw-comment_latest.patch を[MT]ディレクトリ(mt.cgiがあるフォルダ)にアップしたら(FTPのアスキーモードでね)、
telnet でログインして
patch < /path/to/dbm_flaw-comment_latest.patch
と打つ。以上。

Continue reading

  • Comments: 0
  • TrackBacks: 0

ファイルアップロードのデフォルトパスを指定する

Movable Type でファイルアップロードをするさい、
いちいちディレクトリ「images」を入力するのがめんどくさい。

なので、最初から指定する方法。

[MT]/tmpl/cms/upload.tmpl を編集。

<input name="extra_path_site" />

<input name="extra_path_site" value="images" />

value="images" の属性はお好きなディレクトリを指定してください。

んで、上書きアップロード。終了。

  • Comments: 0
  • TrackBacks: 0

自前サーバでMoblogする方法

モブログサービスというとmoblog.uva.ne.jpの moblog mail gateway が有名。ASPで便利だけど、重かったり(?)する。

Movable Type での自前のモブログプログラムというとmail-entry.cgiが有名だが、あまりおすすめできない。

mail-entry.cgiはメールを送った瞬間に更新されるわけではなく、メールを送ったあとに更新用CGIにアクセスしなければならず、余分なトラフィックが発生するし、なんといっても面倒くさい。

メールを送信した瞬間に自動的に更新されるのが好ましい。

おすすめはシンプルなpost2blog

メールのエイリアスが作成できる場合、エイリアスからパイプ|でスクリプトに渡してやればいいので、新たにモブログ用のメールアドレスを作成する必要はない。

レンタルサーバの場合はエイリアスが作成できない場合が多いので、モブログ用のメールアドレスを新たに作成する必要がある。その転送先をメールアドレスではなく、スクリプトに設定するだけ。

例:

.mailfilter(maildrop)の場合
to "| /home/yokku/moblog/post2blog.pl"

.forward(sendmail)の場合
"| /home/yokku/moblog/post2blog.pl"

.qmail(qmail)の場合
| /home/yokku/moblog/post2blog.pl

さくらインターネットのさくらのレンタルサーバの場合は、FTPからMailBoxディレクトリ内にアカウント別ディレクトリがあるので、モブログ用に作ったアカウント名のディレクトリの中にある.mailfilter を取ってきて編集・上書きすればよい。

どうしてもmail-entry.cgiの複雑(?)な機能を使いたい人は、mail-entry.cgi標準入力対応パッチを使えば、パイプから渡せるようになるが、やはり面倒くさい。

  • Comments: 0
  • TrackBacks: 4

A タグによるコメント SPAM 対策

mt-spamstop
ベリー・ベリー・シンプルなコメントスパム対策用のプラグインです。
概  要: Aタグを含むコメントスパムをブロック

すごくナイスなプラグインなのですが、
コメントの「URLを自動的にリンクにする」を有効にしている場合、
プレビュー画面でAタグが入ってしまい、投稿できなくなってしまいます。

プレビュー画面でのコメント情報を remove_html="1" すればよいのですが、
プレビューテンプレートを見てみるとそのような細かい書き換えができなくなっています。

そこで、その対策を考えてみました。

Continue reading

  • Comments: 0
  • TrackBacks: 0

URL によるコメント SPAM 対策

Movable Type Ver 3.x に対応。(たぶん)

・コメント通知メールから直接ブラックリスト行きのリンク
・ブラックリストへの追加と同時にそのコメントの削除

コメントの事前確認を有効にしている場合
・メール通知で「コメントを受け入れる」を掲載許可へ直接リンク

参考サイト
Hacking the Hack: MT コメントSPAM Blacklist ファイル更新 : NDO::Weblog
MT コメントSPAM対策: blog.bulknews.net
MT コメントSPAM Blacklist ファイル更新: blog.bulknews.net

Continue reading

  • Comments: 0
  • TrackBacks: 0

異なるドメイン間での TypeKey サイン・イン

異なるドメイン間での TypeKey サイン・インができないんです。
あたりまえっちゃああたりまえなんですが。

例えば、

http://www.yokku.com/mt/mt.cgi
のドメインに MovableType を設置していて、

http://notes.yokku.com/archives/post.html
のような異なるサブドメインに Blog のアーカイブを構築しているとする。

この場合、サイン・インの手順は、、、

コメントしたいエントリーのページからサイン・インをクリックすると、
www.typekey.com
のサイン・インページに飛ばされ、そこで ID PASS を入力すると、

www.yokku.com/mt/mt-comments.cgi
に飛ばされそのドメインで Cookie を発行される。

そのあと、元のエントリーに飛ばされる。
notes.yokku.com/archives/post.html

しかし、
www.yokku.com で発行されたCookie なので
notes.yokku.com ではサイン・イン情報の Cookie が読み取れない。
よってうまくサイン・インできないのかと思われ。

解決方法としては、
notes.yokku.com 側(アーカイブ側)のドメインに、
mt-comments.cgi のサイン・イン情報の Cookie 発行機能に
相当するような、JavaScript なり cgi なりをかませば
いいような気もするのですが、、、誰か作ってください。
ていうかすでにプラグインとかあるのかなぁ・・・?

それ以前に perl とか仕様を読んだわけじゃないので、
思いっきり見当違いなこと言っているかもしれませんが。。。
とりあえずメモ書きまで。。。

ちなみに xrea で独自ドメインを使う場合なども、
同じような問題が起こるっぽいです。

Continue reading

  • Comments: 0
  • TrackBacks: 0

さくらインターネットと Movable Type

旧「バーチャルドメイン」サービスのときはほとんど使い物になりませんでしたが、
新「レンタルサーバ」サービスに乗り換えたところ、一応は使えるようになりました。
(ビジネスプラン月 5,000円 → プレミアムプラン月 1,500円)

といっても、どうもまだ過負荷制限がかかっているらしく、
2つまでしか同時に起動できないみたいです。
エントリーの編集とか再構築とかの mt.cgi のプロセスが、
3画面以上になると最初の2つの処理が終わるまでまたされます。

さらに、プラグインを使っているなど、負荷が高い処理になっている場合
には、CGI 実行の優先順位が下がってかなり重くなることがあります。
これについてはどっかに明記してあったと思うのですが失念しました。

あと、どうも他サイトにトラックバックを打つとエラーがでるようです。
これは、解決方法があるのかしら?
それともセキュリティ的なさくらの仕様なのかな。そんなバカな。

さくらの FAQ によると、
Q : ウェブログを設置したいのですが可能でしょうか?
A : さくらインターネットのサーバがウェブログ設置の要件を満たしているか確認ください。
設置するツールが求める機能によってはご利用いただけないものがあります。 お試し期間内に、動作テストを十分行なってから運用買いくださいますようお願いいたします。

となってます。

ちなみに、さくらで TypeKey のサイン・インができない問題については、
http://www.hazama.nu/t2o2/archives/002441.html
こちらに詳しいです。

  • Comments: 0
  • TrackBacks: 0

Related Entries by Keywords & Title

Movable Type のプラグインを作りました。
キーワードとタイトルによる関連記事の表示。

RelatedEntries.zip をダウンロード。
RelatedEntries.pl を [MT]/plugins ディレクトリにアップロード。

エントリー編集画面の下のほうに
「この画面の表示をカスタマイズする」というのがあるので、
そこからキーワード入力欄を追加してください。
キーワードは半角スペース又は半角コンマで区切って入力します。

個別テンプレートの好きな場所に以下のようなタグを追加します。

<MTRelatedEntries>
<h2>関連ページ</h2>
<p>
<MTEntries>
<a href="<MTEntryLink>"><MTEntryTitle></a><br />
</MTEntries>
</p>
</MTRelatedEntries>

全エントリーの「タイトル」と「キーワード」の中に、
指定した「キーワード」があればリストアップされます。

デフォルトは5つです。lastn="3" などと指定もできます。
<MTRelatedEntries lastn="3">

一致するエントリーがこの数に至らない場合と、
キーワードを入力していない場合は同じカテゴリーからひっぱってきます。
キーワードも指定せず、カテゴリーも無い場合は何も表示されません。

field="keywords" を指定すると・・・
・lastn の数に至らなくても同じカテゴリーからひっぱってきません
・エントリーにキーワードが入力されていないと何も表示されません。
<MTRelatedEntries field="keywords" lastn="3">

このプラグインは、 Related Entries Plugin を元に作りました。

  • Comments: 0
  • TrackBacks: 1

Home > Movable Type Archive

Search
Feeds

Return to page top