[Tep-j-general] metaタグ生成スクリプト meta.php

Back to archive index

hamada bungu****@leo*****
2004年 12月 22日 (水) 09:30:47 JST


こんにちわ。

なんかmeta.phpの話題が出てるようなので、この機会にマイナーチェンジ版を公
開しておきます。まぁ基本的には全く同じなんですが(^_^;)

このスクリプトは、product_info.phpに

<meta name="keyword"
<meta name="description"

の出力を追加します。

keywordにはショップ名、メーカー名、および「商品名を半角空白で区切ったも
の」を、descriptionには「商品説明の先頭150バイト」を使います。

使い方>

下掲<?php から ?>までをエディタに貼り付けて文字コードEUC、改行コードLFで
保存し、/catalog/includes/meta.phpとしてアップロードしてください。

その後product_info.phpの<head>セクション内に

<?php
require(DIR_WS_INCLUDES . 'meta.php');
?>

と追記します。

はまだ



meta.php
-------------------------------------------------

<?php

$the_product_info_query = tep_db_query("select pd.language_id, p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id, m.manufacturers_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'" . " and p.manufacturers_id = m.manufacturers_id and pd.language_id ='" .  (int)$languages_id . "'");

//クエリを投げる
$the_product_info = tep_db_fetch_array($the_product_info_query);

//キーワードタグを作成
//先ずショップ名、メーカー名他をキーワードに入れる
echo "<meta name=\"keyword\" content=\"" . TITLE . "," . $the_product_info['manufacturers_name'] ;	

//取得した商品名を半角スペース毎に分解して配列に収納
//字数を稼ぐため、全角英数字は半角に変換
$pieces = explode(" ", mb_convert_kana($the_product_info['products_name'], "a"));

//分解した商品名部品をカンマ区切りで出力

$i = 0;

do {
	echo "," . $pieces[$i];
	$i++;

} while($pieces[$i] != "" && $i <= 10);	//部品が無くなるか10単語までループ

echo "\">\n";

//説明タグを作成
echo "<meta name=\"description\" content=\"";

//「説明は100字以内くらい」との事なので、とりあえず150バイトにしてます
//説明内にタグや改行が含まれてると都合悪いので、除去

$description = mb_strcut(ereg_replace("\n|\r|\r\n"," ",strip_tags(mb_convert_kana($the_product_info['products_description'], "a"))),0,150);

echo $description;

echo "\">\n";

?>







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