[eccube3 / twig]urlをフルパスで書く方法

Reading Time: < 1 minute

やっとわかった。

何がしたかったか

<meta>でogとかを設定するとき、画像はフルパスで書かないといけないっていうルールがあって、でもECCUBE3は相対パスで書き出すもんだからまあめんどい。

つまり、商品詳細ページの「og:image」で商品画像を設置したい

WEBサイトURLを取得

相対パスばっかり吐き出すからフルパスを作らないといけない。超だるい。まあ、とりあえずこれでトップページのURLが書き出せる。

書き出されるURLは末尾に「/」がついてる。これが活用するときにすっごい厄介。

ちなみにこれでドメインを書き出せる

「http://」とか「https://」とかが付いてないんだよね。これを使うともっとだるい。

汎用的な「og:image」の設定

いい加減、あんまり長く書くとしんどいから記述例を出す。

これで、テンプレート内のそれ用の画像のフルパスになる。
そのままだと末尾と先頭でスラッシュがかぶっちゃうから「|trim」を噛ませたという話。

商品画像で「og:image」を設定

諸々あわせるとこうなる。

ベースは商品詳細ページの画像のところ。
商品詳細ページかどうかで分けて、そうであれば商品画像が複数枚か1枚かで分けて、複数枚であれば最初のやつだけ。1枚だけならそれ。1枚もないのなら汎用のやつ表示

くっそ長いけどしょうがないね。

おまけ:商品詳細ページでdescription設定

EECCUBE3はデフォでSEO周りが死んでる。商品詳細ページこそ<meta>は仕上げとかないとなのに枠も何もない。仕方ないから商品説明文のところをdescriptionに突っ込むことにする。

まず、ifで商品詳細ページに限定する。

contentの中身は商品紹介文を呼び出して、HTMLタグを全部剥いで、文字列自体の改行も取っ払って、120字以降を削除

完全じゃないけどまあ、何もしないよりはいいよねって感じ。

シェアする

  • このエントリーをはてなブックマークに追加