hamada
bungu****@leo*****
2003年 5月 15日 (木) 16:52:49 JST
こんにちわ。 昨年末にlist.php http://lists.sourceforge.jp/pipermail/tep-j-general/2002-December/000314.html という非常にしょーもないスクリプトを試作しまして以後ずっと実用に供して来 たんですが、これ、および ・All Products Page http://lists.sourceforge.jp/pipermail/tep-j-general/2002-December/000344.html (言語ファイルが分離した1.9a以降はウチでは動かなくなりました) ・Header Tags Controller http://lists.sourceforge.jp/pipermail/tep-j-general/2002-December/000315.html http://lists.sourceforge.jp/pipermail/tep-j-general/2002-December/000319.html の威力は絶大で、Google他のクローラーがosCommerceの中をうろつくように→検 索エンジン経由のお客さま&売り上げが爆発的に増えました。 が、拙作list.phpもAll Products Pageも catalog/product_info.php/cPath/products_id/1649 という簡易形式で各商品紹介ページへのリンクを生成してまして、 catalog/product_info.php/cPath/223_202_222/products_id/1649 というカテゴリを含んだ形式では生成しない→検索エンジンから直接飛んで来ら れたお客さまが関連商品を探しにくい欠点があります。 これをなんとか出来ないかなぁとずっと考えていたんですが、スクリプトに > require('includes/application_top.php'); と書いておけばgeneral.phpに書かれた関数が使える→ > $p_path=tep_get_product_path($myrow[2]); 等と、tep_get_product_pathにproducts_idを与えることによって 223_202_222 が得られるようになりましたので、アップデート版を作ってみました。 ・/catalog(default.phpと同じトコ)に設置 ・スクリプトの文字コードがeuc ・「サーチエンジン対策のURLを使用(開発中)」がTrue ・imagesにspacer.gifという1x1の透明gif画像がある ・日本語のみ を決め打ちしています以外にも色々と問題の多いスクリプトなのですが、取り敢 えず動いてはいるようですし検索エンジンのクローラーをカテゴリの下に呼び込 む事にはそれなりのメリットがあると思いますので、恥を忍んで。 生成される表は 「メーカー(リンク)」「品名(リンク)」「品番」「カテゴリー(リンク)」 という形式で、(特価を読む方法が解らなかったので)価格は非表示です。 普通なら > <link rel="stylesheet" type="text/css" href="stylesheet.css"> > <?php require(DIR_WS_INCLUDES . 'header.php'); ?> > <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> 等も該当部分に記述しosCommerce本体と見た目や操作性を揃えておくべきだと思 うのですが、実験環境では(特にヘッダで)少々特殊なことをやっておりまして、 上手く繋がらなかったので敢えて書いていません。 はまだ list.php(可能ならlist.htmlにすることを推奨) ---------------- <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="LTR" lang="ja"> <head> <?php require('includes/application_top.php'); require ('includes/configure.php'); ?> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <META NAME="ROBOTS" CONTENT="NOARCHIVE"> <title><?php echo TITLE; ?> 全商品一覧</title> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <br> <!-- manufacturers m products p products_description d categories_description c categories k myrow[0] m.manufacturers_id myrow[1] m.manufacturers_name myrow[2] p.products_id myrow[3] d.products_name myrow[4] p.products_model myrow[5] c.categories_name myrow[6] p.products_status myrow[7] k.status //--> <br> <A name="top"> <? $today = getdate(); $month = $today['month']; $mday = $today['mday']; $year = $today['year']; echo "$month $mday, $year"; ?> </a> <br> <?php $db = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD); mysql_select_db(DB_DATABASE,$db); $result = mysql_query("SELECT m.manufacturers_id, m.manufacturers_name, p.products_id, d.products_name, p.products_model, c.categories_name, p.products_status, k.status FROM manufacturers m, products p, products_description d, products_to_categories t, categories_description c, categories k WHERE p.products_id=d.products_id and p.manufacturers_id=m.manufacturers_id and p.products_id=t.products_id and t.categories_id=c.categories_id and t.categories_id=k.categories_id ORDER BY m.manufacturers_name , c.categories_name , p.products_model",$db); echo "<table bgcolor=\"#fafaff\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" bordercolor=\"#bbbbbb\" width=\"100%\">\n"; echo "<tr><img height=\"1\" width=\"680\" src=\"images/spacer.gif\"></tr>"; echo "<tr bgcolor=\"#eeeeee\"><td> メーカー</td><td>品名</td><td>品番</td><td>カテゴリー</td></tr>\n"; while ($myrow = mysql_fetch_row($result)) { $p_path=tep_get_product_path($myrow[2]); if ($myrow[7] == 0) printf("<tr><td><A href=\"default.php?manufacturers_id=%s\">%s</a></td><td>%s</td><td>%s</td><td>%s</td></tr>\n", $myrow[0], $myrow[1], $myrow[3], $myrow[4], $myrow[5]); elseif ($myrow[6] == 0) printf("<tr><td><A href=\"default.php?manufacturers_id=%s\">%s</a></td><td>%s</td><td>%s</td><td><a href=\"default.php/cPath/%s\">%s</a></td></tr>\n", $myrow[0], $myrow[1], $myrow[3], $myrow[4], $p_path, $myrow[5]); else printf("<tr><td><A href=\"default.php?manufacturers_id=%s\">%s</a></td><td><a href=\"product_info.php/cPath/%s/products_id/%s\">%s</a></td><td>%s</td><td><a href=\"default.php/cPath/%s\">%s</a></td></tr>\n", $myrow[0], $myrow[1], $p_path, $myrow[2], $myrow[3], $myrow[4], $p_path, $myrow[5]); } echo "</table>\n"; ?> <br>商品の入荷状況等により、予告なく販売を停止したり価格を改定する場合が有ります。 <br> <br><A href="#top">ページの先頭に戻る</A><br><br> </body> </html>