質問 > フロント機能 > 各ページタイトル(<title>〜</title>)を変更したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
htm0527 |
投稿日時: 2012/4/4 11:35
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2012/3/13 居住地: 投稿: 38 |
各ページタイトル(<title>〜</title>)を変更したい ---------------------------------- EC-CUBEバージョン 2.3.4 PHPバージョン PHP5.2.17 DBバージョン MySQL 4.1.22 ---------------------------------- 今現在、各ページタイトル部分<title>〜</title>内が全て統一されており、SEO対策に向けてページ毎に違うタイトルに変更したいと思っております。 独自で調べてみましたところ、data/Smarty/templates/***/site_frame.tplの中が <!--{assign var=index value="`$smarty.const.URL_DIR`index.php"}--> <!--{if $smarty.server.PHP_SELF==$index}--> <title>******</title> <!--{else}--> <title>******</title> <!--{/if}--> と表示されており、この部分が全てに対して反映されているところまではなんとか辿り着くことが出来ましたが、 商品一覧ページなど5ページ全て別のタイトルに変更したい場合は、 上記をどの様に書き換えれば良いのかご教示いただけませんでしょうか。 EC-CUBE、php共に初心者ですので、手順等、詳細を記載していただければ幸いです。 申し訳御座いませんが、宜しくお願い致します。 |
fukap |
投稿日時: 2012/4/4 12:14
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 各ページタイトル(<title>〜</title>)を変更したい
|
htm0527 |
投稿日時: 2012/4/4 12:29
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2012/3/13 居住地: 投稿: 38 |
Re: 各ページタイトル(<title>〜</title>)を変更したい すみません、現在表記内容が「ショップ名|ショップの説明」ではないのですが、リストページやその他追加したページのタイトル変更はsite_frame.tpl内のどこの部分を変更すれば良いのか、手順等ご教示いただけましたら幸いです。
|
fukap |
投稿日時: 2012/4/4 16:55
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 各ページタイトル(<title>〜</title>)を変更したい ご自分で調べられたとおり、site_frame.tplの以下の部分を編集すれば可能です。
(EC-CUBE2.3.4デフォルトとコードが異なるので、カスタマイズ済みのようですね。)
商品一覧ページのタイトルを定義したいのなら、一例を挙げると下記のような感じだと思います。
ページタイトル編集は、本コミュニティ内にもいろいろ参考になる情報があると思います。 |
htm0527 |
投稿日時: 2012/4/4 19:21
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2012/3/13 居住地: 投稿: 38 |
Re: 各ページタイトル(<title>〜</title>)を変更したい ご返信ありがとうございます。
site_frame.tpl内に、 <!--{assign var=top value="`$smarty.const.URL_DIR`index.php"}--> <!--{assign var=list value="`$smarty.const.URL_DIR`products/list.php"}--> <!--{assign var=detail value="`$smarty.const.URL_DIR`products/detail.php"}--> <!--{if $smarty.server.PHP_SELF==$top}--> //トップページの場合 <title><!--{$arrSiteInfo.shop_name}--> | <!--{$arrPageLayout.description|escape}--></title> <!--{elseif $smarty.server.PHP_SELF==$list}--> <!--{if $tpl_subtitle != "全商品"}--> //リストページで全商品ではない場合 <title><!--{$tpl_subtitle}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{else}--> //リストページ全商品の場合 <title><!--{$arrPageLayout.description|escape}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{/if}--> <!--{elseif $smarty.server.PHP_SELF==$detail}--> //詳細ページの場合 <title><!--{$tpl_title|escape}--> | <!--{$tpl_subtitle}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{else}--> //それ以外のページの場合 <title><!--{$tpl_title|escape}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{/if}--> を書き加えました。 fukap 様のご指摘により、いいところまでいくことができました! 更新後、商品名|サイト名 になりました。 各商品一覧ページに別のタイトルを加えたいんですが、 上記の{$tpl_subtitle}-->は、どこに存在しますか? |
fukap |
投稿日時: 2012/4/5 9:13
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 各ページタイトル(<title>〜</title>)を変更したい デフォルトのままであれば、data/class/pages/products/LC_Page_Products_List.php の 103〜112行目に定義されています。
|
htm0527 |
投稿日時: 2012/4/5 11:16
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2012/3/13 居住地: 投稿: 38 |
Re: 各ページタイトル(<title>〜</title>)を変更したい fukap様
お世話になります。 ご返信ありがとうございました。 fukap様のご指摘通りに修正の方させていただき、なんとか前ページの<title>内の変更を完了することができました。 お礼申し上げます。 もう一つだけご教授いただければと思います。 前ページのタイトル(<title>〜</title>)内を次のような手順で変更いたしました。 site_frame.tpl内の <!--{assign var=index value="`$smarty.const.URL_DIR`index.php"}--> <!--{if $smarty.server.PHP_SELF==$index}--> <title>******</title> <!--{else}--> <title>******</title> <!--{/if}-->を <!--{assign var=top value="`$smarty.const.URL_DIR`index.php"}--> <!--{assign var=list value="`$smarty.const.URL_DIR`products/list.php"}--> <!--{assign var=detail value="`$smarty.const.URL_DIR`products/detail.php"}--> <!--{if $smarty.server.PHP_SELF==$top}--> //トップページの場合 <title><!--{$arrSiteInfo.shop_name}--> | <!--{$arrPageLayout.description|escape}--></title> <!--{elseif $smarty.server.PHP_SELF==$list}--> <!--{if $tpl_subtitle != "全商品"}--> //リストページで全商品ではない場合 <title><!--{$tpl_subtitle}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{else}--> //リストページ全商品の場合 <title><!--{$arrPageLayout.description|escape}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{/if}--> <!--{elseif $smarty.server.PHP_SELF==$detail}--> //詳細ページの場合 <title><!--{$tpl_title|escape}--> | <!--{$tpl_subtitle}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{else}--> //それ以外のページの場合 <title><!--{$tpl_title|escape}--> | <!--{$arrSiteInfo.shop_name}--></title> <!--{/if}--> に変更。 すると、各ページに飛ぶと 商品名|ショップ名 に変わりました^^ ですが、上記の様な表示ではなく、入れたい文言を予め決めていましたので、PHPmyAdminを使ってデータベースにアクセスしました。 dtb_categoryの中に、各商品が格納されていましたので、nameを予め決めていた文言に修正し、再度アクセスしたところ、変更できました。 <titile>〜</titile>内はこれで変更できたんですが、 次に各商品一覧ページに飛ぶと、 変更した<titie>〜</title>内の文言が、 list.tplの <div id="listtitle"><h3><!--★タイトル★--><!--{$tpl_subtitle}--></h3></div> に反映されてしまい、困っています。 例えばここを<titile>〜</title>内とは別の見出しにしたい時は、どこで定義すれば良いでしょうか。 ページ毎に各商品の名称にしたいと思っています。 記述例などあれば幸いです。 拙い文章で大変申し訳ございません。 ご教授の程宜しくお願い致します。 |
fukap |
投稿日時: 2012/4/5 15:36
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 各ページタイトル(<title>〜</title>)を変更したい 斜め読み、ご容赦ください。
商品一覧ページ(html/products/list.php)で使用する変数を定義したい場合は、 data/class/pages/products/LC_Page_Products_List.php ですね。 ただ、商品一覧ページでタイトルに使用するなら、カテゴリ名が妥当じゃないでしょうか。 商品一覧ページには複数商品が並んでいるので、商品名は使いづらいと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |