はじめまして、TinyD2.20 を使わせてもらっております。
fileNiceというディレクトリ一覧をPHPを介して表示するスクリプトを使い、TinyD+fileNice で content/ 下のファイル一覧を表示し、content/ 下にあるファイルまたはフォルダを表示させて出てきたリンク先のページをXOOPSフレーム内で開きたいと考えてます。
# こういう XOOPS モジュールが見つからなかったので組み合わせで実現を考えました。
まず WRAP2 のページラップで fileNice の組み込みには問題なかったのですが、このままだとfileNiceで作ったリンクは新しいページで開くのでフレーム内では表示されないことがわかりました。そのため、アップロードしたコンテンツを mod_rewrite 機能を使って自動ページラップしようと試みました。
しかし、WRAP3 および WRAP4 ではうまくいきませんでした。。fileNiceでのパスの扱いがうまくいってないようで content/ 下のファイル一覧表示ではなくその上位の tinyd0/ 下を表示してしまい、さらに各ファイルのリンクにも失敗しています。
このような状態なのですが、TinyD のハックで解決できるものでしょうか。あるいはまだ fileNice をハックするというアプローチはしていないのですが、こちらの方をハックしてリンク先を XOOPS フレーム内で読み込むようにした方が早いのでしょうか。
#はじめは標準モジュールの mylinks を見習ってXOOPSフレームを読み込む形の方にしようと思ったのですが、私の力では大変そうだったので、TinyD を使ってどうにかならないかと考えた次第です。
良い解決方法がございましたら、お知恵をお貸し下さい。
fileNice:
http://filenice.com/
GIJOE さん、
たびたびすみません。。
XOOPS とは関係ないと思うのですが、できましたらまたアドバイスを頂きたいと思い、投稿させて頂きます。
fileNice を調べてみたところ、ディレクトリ下に存在するHTMLファイルのリンクを生成する以下の部分を見つけました。
Quote:
function doFileLink($file,$path){
// get the file extension for checking file type:
$ext = substr(strrchr($file, '.'), 1);
if(in_array(strtolower($ext),$this->imgTypes)){
return "<a href=\"$PHP_SELF?view=$path\" title=\"view $file\">$file</a>";
}else if(in_array(strtolower($ext),$this->embedTypes)){
return "<a href=\"$PHP_SELF?view=$path\" title=\"view $file\">$file</a>";
}else if(in_array(strtolower($ext),$this->phpTypes) || in_array(strtolower($ext),$this->htmlTypes)){
return "<a href=\"$path\" title=\"open $file\">$file</a>";
}else if(in_array(strtolower($ext),$this->miscTypes)){
return "<a href=\"$path\" title=\"download $file\">$file</a>";
}
上記の $path という部分を適当なURLに変えてやると、対象の全ファイルのリンク先が変えたURLに変更されたのでこの部分を単に a href="" で飛ばすのではなく XOOPS テーマを読み込んだ形で飛ばせばリンク先は XOOPS テーマ内に表示されると思うのですが、この後どうすればよいかで悩んでおります。
たとえば a href="A.php" とし、A.php 内でXOOPSテンプレートを読み込んだ形でリンク先を開くようにすればいいのかなと思ってるんですが、そのやり方がわかりません。 実力とかけ離れてることをやろうとしてるのは承知なのですが、基本的なルールが抜けているのでしょうか。。その場合、どの辺りを勉強すればよいでしょうか。