Nucleus管理画面より画像を削除する方法
Nucleus管理画面より画像を削除する方法
- Author : pushman|Nucleus|2005-09-17 Sat 10:18
-
前回「Nucleusの管理を楽にする」でも書きましたが、Nucleus標準のままでは、画像やファイルのアップロードはできますが、削除ができません。公式フォーラムに「アップロード画像の削除ボタンが欲しい」というトピックがあることからもわかるように、Nucleusユーザー渇望の機能の一つでしょうね。このトピックで、media.phpに手を入れることでその機能を実現されていますが、旧サイトでNucleusバージョンアップの時に、コアファイルに手を入れていたことでとても苦労したので、今回のBlogのテーマの一つである「管理は楽に」を考えると、導入することはできません。
ということで、コアファイルに手を入れることなく、プラグインも使わずに*1管理画面より画像を削除できるようにする、ちょっとした工夫です。
まず、大前提として「NP_SkinFiles」プラグインがインストールされている必要があります。Nucleus 3.2以降なら標準でインストールされているはずです。このプラグインは「skins」ディレクトリ以下を編集可能にするプラグインなので、その機能を利用して実現できます。
Nucleusのインストールはとても簡単ですが、その際に少し設定をする画面があります。通常であれば使用するデータベースのユーザ名やパスワードを入力するだけでインストールは完了ですが、このインストール画面の下の方に「ディレクトリとURL」という項目があります。そこにはすでに必要な情報が書き込まれていて、一般的には以下のような設定だと思います。

これを以下の様に修正します。

つまり「media」ディレクトリを「skins」ディレクトリに入れてしまうんですね。で、忘れてはいけないのが、実際に「media」ディレクトリを「skins」ディレクトリに移動することです。この設定画面で指定したところに自動で移動するわけではありませんのでご注意を。後は、通常通り「media」ディレクトリの中にユーザーIDのディレクトリを作成し、それらのパーミッションを「777」などに変更すれば完了です。「media」ディレクトリに直接画像は置かないほうが無難です。多分<%media%>ではそのファイルは見つけられません。
インストール完了するとすると、SkinFilesの管理画面にめでたく「media」が出現し、こんな感じになっているはずです。

ユーザーIDのディレクトリ、この場合は「1」ですね。これをクリックするとそこにあるファイルの一覧が現れ「(view)」をクリックすると、その画像の確認ができ「(ren)」でリネーム「(del)」で削除「(d/l)」でダウンロードできるようになります。簡単ですね。「すでにインストールしているよぉ〜!」
という場合は、グローバル設定より上記「media」ディレクトリのURIを変更し、config.phpも修正する必要があります。設定変更後「media」ディレクトリを実際に移動させるのですが、すでにファイルをアップロードしている場合は「media」ディレクトリごとコピーして、それを「skins」ディレクトリに入れたほうが無難です。リンク切れが起こりまくりますからね。ついでに言えば、Nucleusを動かせるサーバーであればそんなに容量の心配もないと思いますので、元の「media」ディレクトリは残しておくことをお勧めします。「なんか気持ち悪い」という方もいったんコピーを作成してから、こつこつ記事中のリンクを確認した方がいいですよ。これの応用で、「plugin」ディレクトリも「skins」ディレクトリの中に移動すれば、プラグインも編集できそうですね。怖いのでやってませんが。あと、もしかして、ですが、これやっちゃうとなんかまずいことが起こるかもしれません。というのは、他にこういうことをしているサイトを知らないので、なんだか自信がないのです。もし、僕がやっちゃいけないことをしているのであれば、是非とも忠告をいただきたく思います。
と、ここまで書いて思い出したのですが、環境によっては<%image%>が使用できなくなる場合がありました。僕はSafariなので、アイテム投稿時の画像アップロードボタンを使わず*2直接「img」タグを書いているので、気付くのが遅れたのですが、この問題がなぜ発生するのか全然わかりません。XREAでは駄目でしたが、他の専用サーバーでは問題ありませんでした。ということはサーバーの環境によるのでしょうか?
結論として、この作業を行うとアイテム投稿時のアップロードボタンが使用できなくなる場合がある、ということなのですが、アップロード自体はSkinFilesの管理画面から問題なくできるので、元々アップロードボタンを使用していない方*3には影響ありませんよ、ということですね。
【重要な追記】
トラックバックしてくれている「目から鱗」さんが、プラグインのみで画像削除機能を実現されているようです。なんの変更も必要ないので、僕の方法を試す前に「NP_MediaFiles」を試された方がいいと思います。僕の修正やっちゃうと、逆にこのプラグインが使えないような気がしますので。【さらに重要な追記】
[旧] Heartfieldにインストールしてみました。これは…相当猛烈便利です。以降この記事のような小手先の工夫ではなく「NP_MediaFiles」のご利用をお勧めします。いやしかしすごいですねぇ…憧れます。
-
-
Tag(s): Nucleus Tips
- [Nucleus] Next & Previous
Comments
- Posted by Andy|2005-10-18 Tue 15:09
-
プラグインはNP_PluginFilesを使っていただく方が吉かと思います。
- Posted by pushman|2005-10-18 Tue 22:14
-
Andyさん
お知らせありがとうございます。実はそのプラグインも導入しようと思っていたのですが、取り返しの付かないミスをしてしまいそうなので、断念しました。もっと知識があれば、すごく役に立つと思うのですが。この記事も公式フォーラムに書こうとしたのですが、書いている通り、よくわからない不具合があったりしたので、書けませんでした。ですが、そのような問題こそフォーラムに書くべきだったと、今は思います。
いつもご丁寧な解説おつかれさまです。そして、ありがとうございます。
- Posted by Kat|2005-10-18 Tue 23:44
-
pushmanさん、目から鱗の管理人のKatsumiです。コメントどうも有り難うございました。こちらこそ、初めまして。実は…スパム以外のコメントの第一号だったので、感激しました!もし良かったら、NP_MediaFilesを試してみてください。
- Posted by pushman|2005-10-19 Wed 00:41
-
Katさん
コメント嬉しいですよね(笑)。もう僕はコメント通知メールがくると動悸が激しくなります(笑)。さて【重要な追記】で書いた通り、この状態での運用はちょっと怖いので、旧サイトの方にインストールさせていただきました。そして…問題なく動作しています。すばらしいです。旧サイトは更新してないとはいえ、内部的な整理をしたり、確認作業でまだまだ使っているので、このプラグインはとても助かります。
ということで、さらに追記して「NP_MediaFiles」のご利用をお勧めしておきますね。ありがとうございます。


