PR

Eccube3&Eccube4 category titleの変更(&keyword search)

 

Eccube3,4には標準で商品検索と一度にいくつ表示させるかの表示個数、そして新着順などのソート機能がついております。

多くのショッピングカートではもはや当たり前の機能ですが、よくよくみてみると表示個数の変更や順序の変更をしても、タイトルが一切変わらない、どれもまったく同じタイトルでページが表示されおります。

そこに手を加えてみようというのか今回の記事です。

 

目標

①現在何ページ目を表示しているのか

②一度に何個表示なのか

③何順で表示しているのか

この三つをタイトルに埋め込み、常にオリジナルのタイトルとなるように変更してみます。

 

twigファイル(app/template/default/Product/detail.twig)の変更により各カテゴリーのタイトルを動的に変更することも考えられますが、この際 キーワード検索においても同様にタイトルを変更できれば楽なので、ProductController.phpに手を加えてみます。

src/Eccube/Controller/ProductController.php 変更前

/**
 * ページタイトルの設定
 *
 * @param  null|array $searchData
 *
 * @return str
 */
private function getPageTitle($searchData)
{
    if (isset($searchData['name']) && !empty($searchData['name'])) {
        return trans('front.product.search_result');
    } elseif (isset($searchData['category_id']) && $searchData['category_id']) {
        return $searchData['category_id']->getName();
    } else {
        return trans('front.product.all_products');
    }
}

のページタイトルの設定部分に手を加えてみます。

 

追加変数

$searchname : 入力された検索キーワードを取得

$pageno : 表示中のページ数を取得

$orderby : ソート方法を取得(価格の高い順・価格の低い順・新着順)

 

下記のように変更することで、検索・カテゴリー・全商品で条件を満たすタイトル表示できるようになります。

src/Eccube/Controller/ProductController.php 変更後

/**
     * ページタイトルの設定
     *
     * @param  null|array $searchData
     * @return str
     */
    private function getPageTitle($searchData)
    {
    if(empty($searchData['pageno'])){
       $pageno = 1;
    }else{
       $pageno = $searchData['pageno'];
    }
    $disp_number = $searchData['disp_number'];
    $orderby = $searchData['orderby'];
        if (isset($searchData['name']) && !empty($searchData['name'])) {
            $searchname = $searchData['name'];
            return "$searchname の検索結果 $pageno ページ目 $disp_number 表示 $orderby";
        } elseif (isset($searchData['category_id']) && $searchData['category_id']) {
            $category = $searchData['category_id']->getName();
            return "$category $pageno ページ目 $disp_number 表示 $orderby";
        } else {
            return "全商品 $pageno ページ目 $disp_number 表示 $orderby";
        }
    }

哲学堂書店 浦山幹生

 

最も読まれている人気記事
  • パラフィン紙とグラシン紙の違い
    はじめに パラフィン紙やグラシン紙といった紙をご存知でしょうか?本屋や古書好きな方であればどこかで聞いたことがあるのではないでしょうか? パラフィン紙・グラシン紙は、つるつるしていて半透明の薄白の紙で、よく品物を包む梱包 […]
  • レ・ミゼラブル どれがおすすめ? 文庫?漫画?映画?それともミュージカル?
    おすすめは何か?文庫?漫画?映画?ミュージカル? レ・ミゼラブル どれがいい? 文庫? 漫画? 映画? ミュージカル?結論から申しますと、映画をおすすめします。(6時間の作品 DVD4枚組) たっぷり時間があれば、本をお […]
  • 歌詞 対訳 解説 BWV 140 目覚めよと呼ぶ声あり カンタータ Wachet auf, ruft uns die Stimme
    賢い乙女と愚かな乙女のたとえ話 2回しか演奏の機会がなかったカンタータ ”BWV 140 目覚めよ、と呼ぶ声あり”は三位一体の祝日後第27日曜日のためのカンタータです。 復活祭が3/22から3/26の間にあった年にのみ公 […]
  • 自己家畜化とは何か?ヒトが持つ能力 協調性と友好性の背後にある進化を探る
    自己家畜化 現象 とは何か? それは協調・友好とか好ましい性格のことか?それとも選別なのだろうか?ホモ・サピエンスは自らを家畜化することで、攻撃性を抑え、協調・協働・コミュニケーション能力を発達させ、安定した集団社会を築 […]
  • 世界の蔵書家 愛書家
    前回の『パラフィン紙 グラシン紙 ブックカバー』を書いてから、1年の放置期間がありましたが、今回やっと更新できました。優先の仕事があったり、資料を集めていたこともあり遅れてしまいました。引き続き少しずつ進めていければと思 […]
バッハが好きな店主

「本好きの皆様に楽しんで頂く」をコンセプトにサービスを展開しております。主に新刊書のご紹介や、古書市開催のお知らせなどを配信していきます。買取や本に関することなども時々書けたらと思います。本や読書の推進もさることながら、日本に芽生えた「哲学」の地脈を広げることに寄与できれば幸いです。

啓文堂書店 多摩センター店、橋本店、三鷹店、鶴川店、永福町店など各店舗へ展開。
三省堂書店 神保町本店 大宮店 千葉店 経堂店など各店舗へ展開。
★各店舗にて期間限定で弊社オリジナル本革ブックカバーを店頭販売しております。

2022年2月 哲学堂工房が新設されました。オリジナル本革ブックカバー・総革装製本・革製本修理・革装メモ帳など製造・販売しておりますので、こちらもどうぞ宜しくお願い申し上げます。

一般社団法人全国読書推進協会
全国より古本・古書買取受付中

哲学書 現代思想書の古本 買取ページ
学術書 専門書の古本 買取ページ
もよろしくお願いいたします。

■店主が気になっていること。
店主のつぶやき&読書記録のページ
(最新)
店主のつぶやき その5
店主のつぶやき その4
店主のつぶやき その3
店主のつぶやき その2
店主のつぶやき その1

バッハが好きな店主をフォローする
店主のつぶやき
バッハが好きな店主をフォローする

コメント