ごくらくが大好き

tamazon/XOOPSモジュール化


手軽にアマゾンショップ」(tamazon)をXOOPSのモジュール化する試み。

Tag: XOOPS Amazon モジュール PHP



更新履歴 anchor.png Edit


Page Top

まずは動作確認 anchor.png Edit

Page Top

config.phpの設定 anchor.png Edit

  • アソシエイトID、サブスクリプションIDの設定。
  • サイトURL、サイトタイトルの設定。
  • .htaccessによる静的URL設定は「使わない」に設定(サーバ負荷の様子を見ます)。を「使う」に設定。上手く動いています。
    • 以下はVer.0.17以降は不要?)ただし、テンプレートファイルtpl_index.htmの以下を変更。
      <link rel="stylesheet"
       href="./style.css" type="text/css">
      <script type="text/javascript">
      <link rel="stylesheet"
       href="/modules/tamazon/style.css" type="text/css">
      <script type="text/javascript">
      に。
Page Top

文字コードの変更 anchor.png Edit

  • すべてのファイルが(多分)Shift-JISになっているので、EUCに変換して保存。
  • tpl_index.htmで「charset=EUC-JP」に。/lib/index.htmも。他にもあるかもしれません。
  • JcodeConvertの引数の「2」を「1」に。
  • monomさんが新たに作ってくれたEUC版をダウンロードしましょう。
Page Top

XOOPSのモジュール化 anchor.png Edit

  • PHPスクリプトをモジュール化する簡易な方法は、きたほたる.COMに紹介されていたので、このとおりにやってみた。
Page Top

index.phpの修正 anchor.png Edit

  • ファイルの頭のほう(require_once("common.php");の直前)に下記を追加。
    include("../../mainfile.php");
    include (XOOPS_ROOT_PATH."/header.php");
    OpenTable(); 
    ?>
    
    <?php
  • ファイルの最後に下記を追加。
    <?php
    CloseTable();
    include (XOOPS_ROOT_PATH."/footer.php");
    ?>
  • 「コンテンツ表示」の最後のほうの
    			$html['ItemKeyword'] = Amazon_MenuName($val);
    		}
    	}
    	$html['pagetitle'] = SITETITLE;
    }
    の下あたりに下記を追加。
    // XOOPS_PAGETITLE and XOOPS_MODULE_HEADER
    $xoopsTpl->assign('xoops_pagetitle', $html['pagetitle']);
    
    $module_header = '';
    $module_header .=<<<_HEADER_
    <link rel="stylesheet"
     href="./style.css" type="text/css">
    <script type="text/javascript">
    <!--
    function check() {
    	if (document.input.SearchKeyword.value=="") {
    		window.alert("検索キーワードを入力してください");
    		return false  }
    }
    -->
    </script>
    _HEADER_;
    $module_header .= $head_tag;
    $xoopsTpl->assign("xoops_module_header", $module_header);
    // end of XOOPS_MODULE_HEADER
  • $html['pagetitle'](4カ所)を修正
    	$html['pagetitle'] = $html['Asin']['Title']." - ".$cat_name."
                 - ".SITETITLE;
    	$html['pagetitle'] = SITETITLE." - ".$html['Asin']['Title']."
                 - ".$cat_name;
    	$html['pagetitle'] = $html['ItemKeyword']."
                 - ".Amazon_MenuName($AmazonMode)." - ".SITETITLE;
    	$html['pagetitle'] = SITETITLE." - ".$html['ItemKeyword']."
                 - ".Amazon_MenuName($AmazonMode);
    		$html['pagetitle'] = $html['ItemKeyword']." - ".SITETITLE;
    		$html['pagetitle'] = SITETITLE." - ".$html['ItemKeyword'];
    	$html['pagetitle'] = $html['ItemKeyword']." - ".$cat_name."
                 - ".SITETITLE;
    	$html['pagetitle'] = SITETITLE." - ".$html['ItemKeyword']."
                 - ".$cat_name;
Page Top

tpl_index.htmの変更 anchor.png Edit

  • index.phpに追加した部分を削除。<head>〜</head>をとって、<body>〜</body>だけにする(htmlタグも削除)。
Page Top

カテゴリーのメニューなどのブロック表示 anchor.png Edit

  • xpWikiだとカスタムブロックでできるようなので、まねて上手くいくかどうか試そうかな。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    // 必要なファイルの読み込み (固定値:変更の必要なし)
    include_once XOOPS_TRUST_PATH."/modules/xpwiki/include.php";
     
    // インスタンス化 (引数: モジュールディレクトリ名)
    $xw = new XpWiki("xpwiki");
     
    // ブロック用として取得 (引数: ページ名, 表示幅)
    echo $xw->get_html_for_block ("MenuBar", "100%");
     
    // オブジェクトを破棄
    unset($xw);
Page Top

その他 anchor.png Edit

  • xoops_version.phpの作成。
  • モジュールのロゴ画像の作成。
  • config.phpで、.htaccessによる静的URL設定は「使わない」に設定(サーバ負荷の様子を見ます)。「使う」にするときは、style.cssを絶対指定する必要があると思う(未確認)。
Page Top

手軽にアマゾンショップ2」へのバージョンアップ対応のために試行錯誤した時のメモ anchor.png Edit

  • monomさんがEUC版を公開してくれたので、上述のとおりにすれば、一応動くはずです。
  • 以下については、結局上手く行かなかったのですが、今後テンプレートファイルのカスタマイズする際に必要になる可能性があるので、削除しないでそのままおいておきます。

  • monomさんのサイトに示されている手順を少し修正。
  • 下記の手順に加えて、新しく、amazontag.css、amazontag.php、tpl_amazontag.htmが追加されている様子なので、それはそのままコピーしたいところだが、うちのサイトはEUCなので、
      • 文字コードをすべてEUC-JPに変換
      • tpl_amazontag.htmは、4行目のcharsetをEUC-JPに
Page Top

1)libディレクトリをそのまま上書きでアップ anchor.png Edit

  • libディレクトリは、index.htmのcharsetをEUC-JPに
Page Top

2)common.php、browsenode.php、index.phpを上書きでアップ anchor.png Edit

  • common.phpは、文字コードをEUC-JPにして、JcodeConvertの引数の「2」を「1」に(181、889行目)
  • browsenode.phpは、文字コードをEUC-JPに
  • index.phpは、文字コードをEUC-JPにして、XOOPSのモジュール化のための修正
Page Top

3)config.phpはダウンロードした新ファイルの内容変更をしてアップするか、旧config.phpに以下の部分を追加 anchor.png Edit

--------------------------------------------------------
/* ブラウズノードの取得(0:自動、1:手動)
* 自動:アマゾンへ毎回リクエストを送りノードを取得する
* (表示階層はアマゾンに依存します)
* 手動:「browsenode.php」で定義してあるノードを表示
* (表示階層は3階層まで。それ以降はメニュー表示なし)
* 手動の場合は、自由にカスタマイズできます。
*/
$BNODE = 0;
--------------------------------------------------------
Page Top

4)tpl_index.htm、tpl_mobile.htm、style.cssの変更 anchor.png Edit

新ファイルをそのままアップすることを推奨しますが、デザインカスタマイズを行っている場合は、以下を変更
ページ表示、ソート(並び替え)部分
--------------------------------------------------------
<!-- ページナビ -->
<p>アイテム数:{rval ItemTotalResults}/ページ数:{rval ItemTotalPages}</p>
<p class="pagenavi">{rval ItemPageNavi}</p>
<!--{def ItemSortNaviOpt}-->
<p class="sortnavi">
<form name="input" method="post" class="search" action="{rval siteurl}">
<input type="hidden" name="m" value="{rval ItemSortNaviM}">
<input type="hidden" name="mode" value="{rval ItemSortNaviMode}">
<input type="hidden" name="p" value="{rval ItemSortNaviPage}">
<input type="hidden" name="node" value="{rval ItemSortNaviNode}">
<input type="hidden" name="SearchKeyword" value="{rval ItemSortNaviKeyword}">
<select name="sort">
<!--{each ItemSortNaviOpt}-->
{rval ItemSortNaviOpt/option}
<!--{/each}-->
</select>
<input type="submit" name="submit" value="並び替え" class="searchbutton">
</form>
</p>
<!--{/def}-->
--------------------------------------------------------
  • tpl_index.htmでは、この部分は削除してしまっているので、関係ない。はとりあえずオリジナルをほぼそのまま使用(モジュール化で必要な変更のみ)。
  • tpl_mobile.htmは現在未使用(というか携帯では動作確認できていないだけ)なので、とりあえずそのままコピーしておく。EUC版、UTF版では動かないそうです。なので放置。

新しくコメントをつける

題名
ゲスト名   :
投稿本文
より詳細なコメント入力フォームへ

コメント一覧


Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 683, today: 2, yesterday: 0
Last-modified: 2008-05-11 (Sun) 03:45:37 (JST) (241d) by gokuraku

ページ上部へ移動


Ad by Google


あし@


広告


検索


Theme Designed by EXTRAFFIC

ログインフォーム