EC-CUBEでは、デフォルトのままでは、タイトルタグの中身がSEO的にあまりよくないため、
カスタマイズを行います。
※2010年2月27日修正しました。
1.EC-CUBE 商品詳細ページのタイトルタグ書き換え
/data/class/pages/products/LC_Page_Products_Detail.php のfunction process() の中身を
/data/class/pages/products/LC_Page_Products_Detail_EX.php に置き換え。
/data/class/pages/products/LC_Page_Products_Detail_EX.php を編集。
// タイトルに商品名を入れる
// $this->tpl_title = "商品詳細 ". $this->arrProduct["name"]; コメントアウト。もしくは削除
$this->tpl_title = $this->arrProduct["name"]; //追加する。
2.HTMLテンプレートを編集
Smarty/templates/default(テンプレート名)/site_frame.tpl を編集。
<title><!--{if $tpl_title == "商品一覧ページ"}--><!--{$tpl_subtitle|escape}-->|<!--{elseif $tpl_title !== "TOPページ"}--><!--{$tpl_title|escape}-->|<!--{/if}--><!--{$arrSiteInfo.shop_name|escape}--></title>
3.商品一覧ページのサブカテゴリーのタイトルを編集
このままでは、商品一覧ページで、大カテゴリーのタイトルしか、表示できないため、サブカテゴリーにアクセスした時には、
サブカテゴリーのタイトルを表示できるようにします。
/data/class_extends/helper_extends/SC_Helper_DB_Ex.php を編集する。
SC_Helper_DB_Ex.phpの
class SC_Helper_DB_Ex extends SC_Helper_DB のクラスに以下を追加。
function sfGetCatname($category_id){
// 商品が属するカテゴリIDを縦に取得
$objQuery = new SC_Query();
$arrRet = array();
$arrRet['id'] = $category_id;
// カテゴリー名称を取得する
$sql = "SELECT category_name FROM dtb_category WHERE category_id = ?";
$arrVal = array($arrRet['id']);
$arrRet['name'] = $objQuery->getOne($sql,$arrVal);
return $arrRet;
}
/data/class/products/LC_Page_Products_List.php の function process() の値を
/data/class/products/LC_Page_Products_List_EX.php のfunction process() に上書き。
/data/class/products/LC_Page_Products_List.php
//$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]); 削除する。 $arrFirstCat = $objDb->sfGetCatname($arrCategory_id[0]); //追加する。
このカスタマイズは以下のサイトを参考にさせて頂きました。
terarin-memo様
Chibiの覚え書き様