Movable Type管理画面におけるアイテムアップロード先デフォルト指定

2009年6月16日 12:35

管理画面で新規画像等のアイテムをアップロードする際、デフォルトのままアップロードしてしまうと、
公開ディレクトリにそのまま画像がアップされてしまう。
これを回避するには、アップロード先の指定をすればよいのだが、
いちいちアップロードのたびに指定するのはとても面倒。
なので、アップ先ディレクトリがデフォルト値で指定されるようにカスタマイズする。

Movable Type管理画面におけるアイテムアップロード先デフォルト指定

修正するテンプレートファイル
MTディレクトリ/tmpl/cms/include/asset_upload.tmpl

この一行目に以下の変数指定を追記します。
<$mt:setvar name=”extra_path” value=”upload_images/”$>

これで画像アップロード時のフォルダ指定欄にデフォルト値として「upload_images/」が
入力された状態になる。

Movable Type管理画面におけるアイテムアップロード先デフォルト指定

ただし、上記のファイルをそのままいじってしまうと、
MTのアップデート時などに動かなくなる可能性があるので、
通常のカスタム時同様に MTディレクトリ/tmpl/cms/include/asset_upload.tmpl
一度ローカルにコピーし、修正ファイルを MTディレクトリ/alt-tmpl/ 以下にアップするようにする。
具体的には以下のディレクトリ。

MTディレクトリ/alt-tmpl/cms/include/asset_upload.tmpl

また、複数ブログを運営していて、ブログ毎にアップロード先ディレクトリを変えて設定したい場合は、
CMSContextプラグインを使用して、各管理画面別にデフォルト値を設定する。
詳細説明は割愛。

カテゴリー: cms タグ:

6 Comments

  1. CMSContextプラグインをつかってアップロード先ディレクトリの変更ができません。
    plugins/CMSUI/tmpl/event/asset_upload.tmpl
    plugins/CMSUI/tmpl/event/include/asset_upload.tmpl
    plugins/CMSUI/tmpl/event/cms/include/asset_upload.tmplなど試しましたが認識しませんでした。
    どうすればいいのでしょうか?

    コメント by kazu — 2009年12月14日 10:29

  2. kazuさん、コメントありがとうございます。
    おそらく plugins内のディレクトリ名を変更しているせいではないでしょうか?
    以下ではどうでしょうか?

    plugins/CMSUI/tmpl/event/cms/include/asset_upload.tmpl

    plugins/CMSContext/tmpl/event/cms/include/asset_upload.tmpl

    もしくは該当ブログのプラグイン設定にてプラグインが有効化されていない可能性も考えられます。

    コメント by littlepad — 2009年12月14日 11:09

  3. ご返答ありがとうございます。

    今度は以下のようなエラーが発生しました。

    テンプレート「dialog/asset_upload.tmpl」の再構築中にエラーが発生しました: タグでエラーがありました: テンプレート「include/asset_upload.tmpl」の再構築中にエラーが発生しました: タグでエラーがありました: include/asset_upload.tmplでお互いがお互いを参照している状態になっています。

    いろいろさわったせいでしょうか?

    あきらめてはalt-tmpでブログごとに管理画面をきりわけました。
    アドバイスありがとうございます。

    コメント by kazu — 2009年12月15日 09:53

  4. そうですか、お力になれず残念です。
    念のため、ひと通りの作業を順を追って以下に書いておきますので、
    次回導入時の参考になればと思います。

    1)CMSContextプラグインを下記よりダウンロードする。
    http://alfasado.net/contents/labs.html

    2)解凍したCMSContextフォルダを“MTディレクトリ/plugins/”にアップロードする。

    3)修正するテンプレート“MTディレクトリ/tmpl/cms/include/asset_upload.tmpl”
    をPCローカルへダウンロードする。

    4)ダウンロードしたasset_upload.tmplの1行目に以下を記述して保存する。
    <$mt:setvar name="extra_path" value="upload_images/"$>
    ※アップロード先を“upload_images”とした場合

    5)上記ファイルを
    “MTディレクトリ/plugins/CMSContext/任意のディレクトリ名/cms/include/”
    にアップロードする。

    6)アイテムのアップロード先を任意指定したいブログの管理画面を開き、
    「ツール→プラグイン」でプラグイン設定画面へ遷移する。

    7)CMSContextの設定で、「プラグインを有効にする」にチェックし、
    代替テンプレートのパスに 5)で指定した任意のディレクトリを入力。
    「変更を保存」ボタンを押して設定を保存。

    8)以上でアイテムをアップする際、
    自動的にアップロードディレクトリが指定されるはずです。

    コメント by littlepad — 2009年12月15日 11:57

  5. ありがとうございます!!
    おかげさまでできました!!
    使いまわしていたasset_upload.tmplの中身が古いか入れ違ってたみたいです。
    1からの手順を親切に書いていただいて本当に感謝しています!!

    コメント by kazu — 2009年12月16日 01:26

  6. おぉ!うまくいきましたか!良かったです!

    コメント by littlepad — 2009年12月16日 10:16

TrackBack URL

Leave a comment