[size=x-large][b]どこでもアマゾンマッピング[/b][/size]
[b]はじめに[/b]
このモジュールは、アマゾンの Web サービスを使用して Amazon 商品を貼り付けるブロックを提供する実験的モジュールです。
このモジュールの特徴は、メインでアクセスされているモジュールの解析情報を別途定義しておくことで、
XOOPS_URL/modules/tinycontent/index.php?id=1
と
XOOPS_URL/modules/tinycontent/index.php?id=2
を別々のページとして認識できることです。
(tinycontent にこのようなクエリーストリングスはありませんが)、
XOOPS_URL/modules/tinycontent/index.php?id=1&page=1
XOOPS_URL/modules/tinycontent/index.php?id=1&page=2
は同じページとして認識できます。
つまり手動で、ページの内容にあわせたアマゾン商品をブロックに貼り付けることができます。
解析結果に対して内部的に生成した ID を割り当てていることから、この手法を「ID マッピング」と名付けています。
マッピング情報は今のところ、XML で定義します。XML を書き足すことで、対応モジュールを増やすことができます。
[b](1)セットアップ[/b]
管理画面から「一般設定」へ行って、モジュール全体の設定を行って下さい。
アマゾンの SOAP アドレス、アソシエイトID、サービスタグの入力が必須です。
また、日本語で使用する場合、マルチバイト関数による変換がデフォルトでは「いいえ」になっていますので、これを「はい」にしてください。
一般的な運用であれば、5番目のオプションは「EUC-JP」のままで大丈夫です。
次に「PERMISSION」で、それぞれのグループに、投稿・削除の権限を与えて下さい。
[b](2)ブロックの配置[/b]
「どこでもアマゾンマッピング」は、ブロックで表示・投稿のガイドを示し、投稿確認と削除確認のときだけモジュール内にアクセスするタイプのモジュールです。
ですから、ブロックを配置しなければ始まりません。
ブロックは「縦並び」と「横並び」を用意しています。
対応しているモジュールでブロックが表示されるように設定して下さい。
ブロックにグループのアクセス権限を設定することも忘れないでください。
(1)で設定したのは、機能の使用許可であって xoops ブロックの表示許可ではありません。
[b](3)管理者以外で投稿・削除を許すには[/b]
ブロックにアクセス権限を振っていても、投稿・削除を行うときは確認操作をモジュール内で行うため、モジュールへのアクセス権限が必要になります。
[b]TIPS: XML の設定[/b]
ID マッピングのための設定は、include/mapping.xml にあります。
[code]
[/code]
これは news モジュールのための設定です。news モジュールは index.php は storytopic をクエリーストリングスに用い、article.php は sotryid を用いて、ユニークなページを表示します。
ここで指定した以外のパラメータは無視しますので、category_id などユニークページ生成に無関係なクエリーストリングスは設定しないほうがよいでしょう。
二つ以上のパラメーターを扱うには、
[code]
[/code]
というふうに記述します。
対応できるモジュールには制限があります。
(1)主キーにあたるパラメーターは整数であること(文字列をキーとするページには ID をマッピングすることはできません)
(2)パラメーターは最大2つまで(3つまでの領域をとっていますが、現在は2つまでとしています)
(1)(2)を満たすモジュールであれば、 XML に定義を書き足すことで、「どこでもアマゾンマッピング」の対応モジュールを増やしたり、マッピングルールを変更することができます。