Joomla1.5でdescriptionにtitleの値を設定する

Joomla1.5とかって古っ!!という意見は置いておいて、、。

主にGoogleのSEO対策です。

Joomlaでは、ページのdescriptionが明示的に指定されていないと、グローバルのdescriptionの値が出力されます。

なので、descriptionの指定が無いページは、すべてdescriptionの内容が同じになって、Google先生にサーチコンソールとかで、「HTMLの改善:descriptionの重複!」と怒られます。

Joomlaで書き溜めた何百件もある記事、これから1件1件descriptionを書き足すのはかなり大変ですので、descriptionにはtitleの内容を動的に出力させ、Google先生の警告を回避するという横着な方法です。

1./templates/使用中のテンプレート名/index.phpを開きます。

2.以下のように修正します。

 

以上です。

 

ECCUBE3の商品一覧の並び順に「お気に入り数順」を追加する

  • まず最初に、並び順テーブル(mtb_product_list_order_by)に新しく「お気に入り数順」を追加

(一例)
・id:4
・name:お気に入り数順(任意)
・rank:3

※optionの順番を前に持ってきたければrankの番号を減らす

 

  • /src/Eccube/Resource/config/constant.yml.dist に追加したorderbyパラメタの番号(4)に名前を定義する

参考)
https://github.com/EC-CUBE/ec-cube/issues/2703

 

  • /src/Eccube/Repository/ProductRepository.php に、SQLを定義する

※クエリビルダーを使用する際、JOINするテーブル名やカラム名はdoctrineの定義に基づくので、 /src/Eccube/Resource/doctrine/Eccube.Entity.CustomerFavoriteProduct.dcm.ymlなどの中を確認して、同じ名前にする。

ちなみに、上記は、生のSQLとしては下記のような感じとなる。多分。

 

参考)
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=17472&forum=10
https://ameblo.jp/withathena/entry-12173872626.html
https://umebius.com/eccube/sort_admin_product_master/
http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/query-builder.html
https://teratail.com/questions/30434
https://teratail.com/questions/43888
http://www.aiship.jp/knowhow/archives/25107
http://d.hatena.ne.jp/Fivestar/20100423/1272013815

 

以上で、商品一覧ページのドロップダウンに「お気に入り数順」が追加され、選択するとお気に入りに追加された数の多い商品順にソートされる。