Movable Type管理画面におけるアイテムアップロード先デフォルト指定
2009年6月16日 12:35
管理画面で新規画像等のアイテムをアップロードする際、デフォルトのままアップロードしてしまうと、
公開ディレクトリにそのまま画像がアップされてしまう。
これを回避するには、アップロード先の指定をすればよいのだが、
いちいちアップロードのたびに指定するのはとても面倒。
なので、アップ先ディレクトリがデフォルト値で指定されるようにカスタマイズする。
修正するテンプレートファイル
MTディレクトリ/tmpl/cms/include/asset_upload.tmpl
この一行目に以下の変数指定を追記します。
<$mt:setvar name=”extra_path” value=”upload_images/”$>
これで画像アップロード時のフォルダ指定欄にデフォルト値として「upload_images/」が
入力された状態になる。
ただし、上記のファイルをそのままいじってしまうと、
MTのアップデート時などに動かなくなる可能性があるので、
通常のカスタム時同様に MTディレクトリ/tmpl/cms/include/asset_upload.tmpl を
一度ローカルにコピーし、修正ファイルを MTディレクトリ/alt-tmpl/ 以下にアップするようにする。
具体的には以下のディレクトリ。
MTディレクトリ/alt-tmpl/cms/include/asset_upload.tmpl
また、複数ブログを運営していて、ブログ毎にアップロード先ディレクトリを変えて設定したい場合は、
CMSContextプラグインを使用して、各管理画面別にデフォルト値を設定する。
詳細説明は割愛。
カテゴリー: cms
6 Comments
Leave a comment
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
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
ご返答ありがとうございます。
今度は以下のようなエラーが発生しました。
テンプレート「dialog/asset_upload.tmpl」の再構築中にエラーが発生しました:タグでエラーがありました: テンプレート「include/asset_upload.tmpl」の再構築中にエラーが発生しました: タグでエラーがありました: include/asset_upload.tmplでお互いがお互いを参照している状態になっています。
いろいろさわったせいでしょうか?
あきらめてはalt-tmpでブログごとに管理画面をきりわけました。
アドバイスありがとうございます。
コメント by kazu — 2009年12月15日 09:53
そうですか、お力になれず残念です。
念のため、ひと通りの作業を順を追って以下に書いておきますので、
次回導入時の参考になればと思います。
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
ありがとうございます!!
おかげさまでできました!!
使いまわしていたasset_upload.tmplの中身が古いか入れ違ってたみたいです。
1からの手順を親切に書いていただいて本当に感謝しています!!
コメント by kazu — 2009年12月16日 01:26
おぉ!うまくいきましたか!良かったです!
コメント by littlepad — 2009年12月16日 10:16