EC-CUBEのタイトルタグのカスタマイズ

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の覚え書き様

This entry was posted in EC-CUBE, ブログ記事 and tagged . Bookmark the permalink. Comments are closed, but you can leave a trackback: Trackback URL.