[Tep-j-general] Re: クローラー親和性の高いproduct_info.php

Back to archive index

hamada bungu****@leo*****
2006年 2月 27日 (月) 09:38:02 JST


こんにちわ。

On Fri, 24 Feb 2006 11:53:47 +0900
hira <hira****@s-pag*****> wrote:

> b)
> 商品が見つからなかった場合のページを作成して
> そのページへリダイレクト
> 次へボタンからトップページへ

素晴しいアイディアをありがとうございます。さっそく実装してみました。

「商品が見つかりません」ページの作成には

New page template
http://www.oscommerce.com/community/contributions,701

を使わせて頂きました。多謝!


はまだ



/catalog/product_info.php

>   require('includes/application_top.php');

の下くらいに
--------------------------------------

//余計な引数あり&重複登録商品でない場合301リダイレクト
if ((isset($HTTP_GET_VARS['cPath']) && tep_not_null(tep_get_product_path($HTTP_GET_VARS['products_id']))) || isset($HTTP_GET_VARS['manufacturers_id'])) {

	header('Location: ' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));
	header ('HTTP/1.0 301 Moved Permanently');
	exit;

}


//商品IDがアクティブじゃなければNOTFUNDページへ301
$product_info_query = tep_db_query("select products_id, products_last_modified from " . TABLE_PRODUCTS . " where products_status = '1' and products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' limit 1");

if (!tep_db_num_rows($product_info_query)) { 

	header('Location: ' . tep_href_link(FILENAME_PRODUCT_NOTFOUND));
	header ('HTTP/1.0 301 Moved Permanently');
	exit;

}


//更新時刻を取得
$data = tep_db_fetch_array($product_info_query);

//更新時刻を返す
doConditionalGet(strtotime($data['products_last_modified']));



/catalog/includes/application_top.php
--------------------------------------

  define('FILENAME_PRODUCT_NOTFOUND', 'product_not_found.php');



/catalog/includes/languages/japanese/product_not_found.php
--------------------------------------

<?php

define('NAVBAR_TITLE', '商品が見つかりません');
define('HEADING_TITLE', '商品が見つかりません');

define('TEXT_INFORMATION', '
<body>
<BR>残念ながらご指定の商品は見つかりませんでした。<BR>

</body>

</html>

');
?>



/catalog/product_not_found.php
--------------------------------------

<?php

  require('includes/application_top.php');

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_NOTFOUND);

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);

  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_PRODUCT_NOTFOUND));

?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE . ' - ' . HEADING_TITLE; ?></title>
<base href="<?php echo (getenv('HTTPS') == 'on' ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->

<div align="center">

<table border="0" width="100%" cellspacing="3" cellpadding="3">
  <tr>
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
    </table></td>
<!-- body_text //-->
    <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr>
            <td class="main"><?php echo TEXT_INFORMATION; ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td align="right" class="main"><br><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT, '', 'NONSSL') . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
      </tr>
      <tr>
        <td><br><?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td>
      </tr>
    </table></td>
<!-- body_text_eof //-->
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
    </table></td>
  </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</div>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>






Tep-j-general メーリングリストの案内
Back to archive index