圧縮したファイルのファイル名を出力は可能でしょうか?  【解決済み】

質問全般・改善要望
アバター
taka
メンバー
メンバー
記事: 14
登録日時: 2009年9月03日(木) 20:20

圧縮したファイルのファイル名を出力は可能でしょうか?

投稿記事by taka » 2009年9月24日(木) 02:23

modx:1.00jを使用しています。
modxは全くの初心者で学びはじめてから3ヶ月ほどです。漸く少しは理解できるようになったみたいです。
フォルダに納めた圧縮したファイルのファイル名をDittoやWayfinderなどで出力するようなことは可能でしょうか?
圧縮ファイルにしているのは、ダウンロードを可能にしたいと思っています。
この様なことが可能であれば、どのような方法があるのか教えていただけないでしょうか。

宜しくお願いいたします。
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: 圧縮したファイルのファイル名を出力は可能でしょうか?

投稿記事by sama55 » 2009年9月24日(木) 09:12

ダウンロードカウントを表示するかどうかで実装が分かれる気がします。
フォルダ内のアーカイブを単純にリスト表示するスニペットは無さそうですが、PHPが組めるようなら比較的簡単に実現できそうです。ただ、カウンタを付ける場合は、ファイル毎にカウント値を保存する仕組みが必要になりますので、自前実装は結構大変。

ということで、本家リポジトリをあたってみたところ、それらしいものが2つありました(他にもあるかもしれません)。

<<FileDownloadPE>>

http://modxcms.com/extras/package/147
http://modx.scottydelicious.com/blog/2008/06/15/filedownloadpe

ファイルへのパスとMIMEタイプをテンプレート変数で指定し、ファイルとドキュメントを一対一に関連付けて管理するスニペットのようです。aliasでダウンロードカウントを管理するようです。機能は低めですが初心者には優しい気がします。PHP5.X以上の環境が必要とのことです。

<<dlmonitor integrator>>

http://modxcms.com/extras/package/102
http://www.dlmonitor.com/

DL Monitorをセットアップした上で、curl経由でファイルIDをキーにしてファイル名やカウント値を個別に引き出す小さなスニペットのようです。DL Monitorにアップロードしたファイル群をリスト表示するには、このスニペットを呼び出す表示用チャンクやスニペットを別途作成して実現することになると思います。このスニペットは他のXXXX Integratorと称される外部アプリケーションの画面をドキュメントにそのまま埋め込む部品と違って、素なインタフェースで情報を引き出すので、MODxとの相性問題が起こる可能性は低く、応用範囲も広く、柔軟に使える部品として評価できます。

この部品は使ったことはありませんが、DL Monitorは最低限の日本語化を施して自分も使ってます。最初理解に手間取るかもしれませんが、時系列でダウンロード数が把握できたり、リファラーを追跡できたり、なかなか高機能です。反面、使いこなすのはちょっと大変かもしれません。 ;)
アバター
taka
メンバー
メンバー
記事: 14
登録日時: 2009年9月03日(木) 20:20

Re: 圧縮したファイルのファイル名を出力は可能でしょうか?

投稿記事by taka » 2009年9月24日(木) 11:01

sama55さん 感謝です!
これだけの情報量を、こんなに早く、また、とても丁寧にわかりやすく(わたしはこの後じっくり何度も読み直します)頂けたことに、鳥肌が立っております。
頂いた内容に関してすぐ返答ができないのがもどかしい限りですが、とにかくじっくりと拝見させていただき、よりよい物を導入できるようにがんばってみます。
それぞれ感触がつかめたときに、改めて返事を書かせていただきます。
本当にありがとうございます。
アバター
taka
メンバー
メンバー
記事: 14
登録日時: 2009年9月03日(木) 20:20

Re: 圧縮したファイルのファイル名を出力は可能でしょうか?  【解決済み】

投稿記事by taka » 2009年9月28日(月) 19:14

sama55さん
いろいろとやってみました。
<<FileDownloadPE>>を使ってみることにしました。
ありがとうございました。
またおたずねすることがあると思いますので、今後とも宜しくお願い致します。