weblinks1.9

最初は、「バナーURL」に画像アップロード機能をつけようとおもったんです。昔つけたことがあるので。でも、昔のコードとはまったく違っていて、よくわからなくなってしまったので・・・・・・。

とりあえず、下記のことを実行。

1)バナーURLのフォームのよこに、XOOPSエディターのイメージマネージャみたいなのを付け、クリックすると、イメージマネージャが立ち上がるようにする。

2)そのイメージマネージャからは、「バナーURLに挿入」というボタンをつけ、押すと、「バナーURL」にその写真のアドレスが入るようにする。

という感じです。

では。

1)「バナーURL」のフォームの横に、イメージマネージャをつける。

class/weblinks_link_form_admin_handler.phpのL.562から始まる「function add_admin_banner($id)」の中、「$this->add_buff( $cap, $text );」より前に下記をいれます。

ツꀀ$text .= “<a href=\”#\” onclick=’javascript:openWithSelfMain(\”http://xxxx.xxx.xxx/imagemanager.php?cat_id=1&target=banner\“,”;
ツꀀ$text .= “\”imgmanager\”,400,430); return false;’><img src=’http://localhost/images/image.gif’ alt=’image’ /></a>”;

この場合、「cat_id=1」は特定のページをあらかじめ表示したいから入れただけで、デフォルトでは入れない部分です。myalbumの場合は「cid=1」となります。

また、weblinks用のファイル管理が必要なばあいは、imagemanager.phpをコピーして、そのファイルでincludeしているwebphotoやmyalbumのimagemanager.phpのアドレスを変更すれば可能であると思います。

2)イメージマネージャからのボタンを、「バナーに設定」を増やす。

該当する画像管理モジュールのimagemanagerテンプレートを更新する。
ここでは、webphotoを元に説明します。

テンプレートのwebphoto_main_imagemanager.htmlを下記のように訂正します。

ヘッダーにjavascriptを追加

function insertCode(addCode) {
ツꀀvar targetDom = window.opener.xoopsGetElementById(‘<{$target}>’);
ツꀀtargetDom.value = addCode;
}

ボタンの部分に下記のような記述を追加(任意)

<a href=”#” onclick=”javascript:insertCode(‘<{$photo.src}>’);”>バナーに設定する</a>

以上。

※ただ、この方法だと、サムネイルの場合はサムネイルのURLが入ってしまうので、サムネイルの利用を避けるか、サムネイルではなくてオリジナルのアドレスを引っ張ってくるようにしたい。
オリジナルのアドレスの引っ張り方は、もう少し研究します。

※もっと簡単な方法。
weblinksの「モジュールの設定5(情報登録項目) 」で、タイトルの下に説明が入れられるので、そちらに<a href=”#” onclick=’java_script:openWithSelfMain(“/imagemanager2.php?cid=1&target=banner”,”imgmanager”,400,430); return false;’><img src=’/images/image.gif’ alt=’image’ /></a>と入れてやるだけでよい。
これで、画像その1やその2を「その他」を使って表示してやれる。(target=etc1とかetc2にしてやればよいだけです)

これを、値があるときは画像を表示とかしたいんだけど、どこでこの「その他」の部分を制御しているのかわからない。研究中です。