読者です 読者をやめる 読者になる 読者になる

(Movable Type)検索結果関連

MTSubCategoryPathの動作

カテゴリーラベルではなくベースネームなのでデフォルトではcatNとかになっている。 label: ニュース basename: news なら news と表示される。

テンプレートの「ファイルへのリンク」に登録したパスが保存されている場所

mt_templateテーブルのtemplate_linked_fileフィールドに保存されている。mt_templateテーブルにはブログIDも含まれているので、パスの調整を行えばどこからも参照されていないテンプレートファイルを検出できるはずだ。

データベースにフィールドを追加して、オリジナルタグでそのフィールドに追加されたデータを取り出すプラグイン

とりあえず動作確認済み。新しくMTEntryTestというファンクションタグが使用可能になる。 package MT::Plugin::Hoge; use base qw( MT::Plugin ); my $plugin = new MT::Plugin ({ id => 'Hoge', name => 'Hoge', key => 'Hoge', version => '1.00', doc_lin…

データベースにフィールドが追加されない場合のチェックポイント

プラグインでDBにカラムを追加したい場合、プラグイン側でschema_versionを指定する必要がある。2回目以降に同じプラグインをインストールするにはschema_versionを1回目よりも大きくする必要がある。前回にインストールした値よりも小さい場合はデータベー…

データベースにオリジナルのフィールドを追加するだけのプラグイン

DBのmt_entryテーブルにtestというカラムを追加するだけのプラグイン。動作確認用。下記のコードをHoge.plとしてMTのインストールディレクトリのpluginsに入れると、MTがデータベースのmt_entryテーブルにtestというフィールドを追加してくれる。 package MT…

プラグインからデータベースの操作を行うには

MT::Objectを使うことでできそうだ。詳細は調べないと分からないが具体的に動くコードを作ってサンプルとして公開したい。(クオリティは確実に低いけど)

プラグインディレクトリ以外からMTのモジュールを利用する

MTの設置ディレクトリとは別のところからMTのモジュールを使う。良くわからないけど下記のコードで動いたので控えておく。 ディレクトリ構造は下記の通り。 test.cgi ← 後述のプログラム mt ← MT設置ディレクトリ mt/lib ← MT設置ディレクトリの中にあるライ…

ユーザーの登録時に入力する「ユーザー名」は日本語でもいける

ユーザーの登録時に「ユーザー名」のフォームがあるが、これは半角英数字しか入力できないと思っていた。実際は日本語で登録できるし、日本語でログインもできる。

自分以外が作ったシステムをみるときに必要なこと

・テンプレートモジュールの依存関係 どのテンプレートで呼び出されているか。 ・MTEntires category="○○"のようにカテゴリ名が直接使用されている箇所はどれだけあるか →カテゴリ名を変更すると動かなくなってしまうのを察知しなければならない。 →同様にid…

cms_post_save.entryは具体的にどのような動作か

ブログ記事の新規作成 → ○ ブログ記事の編集 → ○ ブログ記事の削除 → × ウェブページの新規作成 → × ウェブページの編集 → × ウェブページの削除 → × ブログの再構築 → × ※「編集」は管理画面の「保存」ボタンが押されることを表す。 つまり、記事の内容が一…