ホーム » ブログ » ECCUBEで商品カテゴリ一覧のURLをカスタマイズ
このエントリーをはてなブックマークに追加
@2015/07/06

スポンサーリンク
本記事のテーマでは、メニューナビゲーションで、URL静的化した[http://www.XXXXX.com/products/list40.html]のような無意味なURLを有意な[http://www.XXXXX.com/products/apple.html]のようなURLにカスタマイズの方法です。
雑談が多くて、太字のみでお読みください。


ECCUBEを使ってECサイトを構築したら、管理画面で商品登録する際に、カテゴリを指定できます。
それを指定したら、フロントページには、そのカテゴリに所属する商品一覧を簡単に検索できます。
例えば、管理画面で登録した「新入荷商品」のカテゴリの値は1の場合、http://www.XXXXX.com/products/list?category_id=1 にアクセスすると、新入荷商品の商品一覧を表示します。分かりやすいですね?

実はよくないです!!

お客さんの立場から見ると、
URL中のcategory_id=1は意味不明から、若干嫌な感じするかもしれない。
更に、category_id=40をリンゴ、category_id=92をオレンジ、・・・・を・・野菜、category_id=134をスイカの意味を持たせる場合、無意味の数字を特定な意味を持たせる何って、あえてお客様に親切なサイトを言えないんだろう。
僕の場合、このようなサイトを閲覧の際に、まずはこのサイトを運営する会社は小規模な会社とのイメージを付ける。もちろん、このサイトで販売している商品の注文は慎重にします。なぜなら、商品の品質や個人情報の保護などを心配するから。特にクレジットカードは絶対入力しない。

上記の理由で、URL静的化とカテゴリIDを含まれるURLの有意化はECサイトとして欠かせないだろう。

本記事では、カテゴリIDを含まれるURLの有意化作業を説明します。(やっと本記事のテーマに辿り着いた、笑・・・)

URL静的化対策したら、下記のようなページがあるかもしれない。
リンゴ一覧: http://www.XXXXX.com/products/list40.html
オレンジ一覧: http://www.XXXXX.com/products/list92.html
・・・・・・・
数字40と92は嫌な感じですね。
それを、
リンゴ一覧: http://www.XXXXX.com/products/apple.html
オレンジ一覧: http://www.XXXXX.com/products/orange.html
明確な意味を持ち、お客様にもぱっとわかるですね。


http://www.XXXXX.com/products/apple.htmlをアクセスすると、
実際のhttp://www.XXXXX.com/products/list40.htmlにアクセスするために、下記のコードを.htaccessに追加してください。

RewriteRule ^products/apple.html products/list.php?category_id=40&%{QUERY_STRING} [L]
これでけで、メニューナビゲーションでのhttp://www.XXXXX.com/products/apple.htmlにもhttp://www.XXXXX.com/products/list40.html  と同じ画面を表示できるようになりました。

しかし、左欄の商品カテゴリ枠内の「オレンジ一覧」のリンクはhttp://www.XXXXX.com/products/list40.html のままですので、同じ商品カテゴリなのに、メニューナビゲーションでの有意なURLと左欄の商品カテゴリ枠内の無意味なURLを両方存在してしまいます。
さぁ、、左欄の商品カテゴリ枠内の「リンゴ一覧」のURLにも有意なURLに変えましょう。
ファイル:data/Smarty/templates/default/frontparts/bloc/category_tree_fork.tpl


<!--{if $child.category_id eq $smarty.const.CATEGORY_APPLE}-->
<!--{assign var=list_uri value='apple'}-->
<!--{elseif $child.category_id eq $smarty.const.CATEGORY_ORANGE}-->
<!--{assign var=list_uri value='orange'}-->
<!--{else}-->
<!--{assign var=list_uri value="list`$child.category_id`"}-->
<!--{/if}-->
		<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/<!--{$list_uri|h}-->.html"<!--{if in_array($child.category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$child.category_name|h}-->(<!--{$child.product_count|default:0}-->)</a></p>
これで、全サイトないで有意なhttp://www.XXXXX.com/products/apple.htmlにカスタマイズできました。
実際にアクセスしてみてください。
http://www.XXXXX.com/products/apple.htmlとhttp://www.XXXXX.com/products/list40.htmlは同じ画面が出てますね。

以上、ECCUBE構築のメモでした。

♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
1人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check