EC-CUBE商品登録ページにYouTube動画iframe可能にする

デフォルトだとiframeは使わないでくださいと弾かれてしまいます。しかし、HTML5でも大丈夫なiframeが入れらないと代表的なソースとしてYouTube動画の埋込みが出来ません。

詳細-メインコメント(タグ許可)*の欄にiframeを入れられるカスタマイズがあります。 続きを読む

CMSを同じサーバー同じドメインに設置できるメリット

EC-CUBEならではとなるのは、Serverに設置できることから既存のCMS等と組み合わせが一応できるということである。カートやログイン状態を維持できるようにセッションだとかJavaScriptなどのカスタマイズもできるだろうが、難しそうなので敬遠しておいていいだろう。 続きを読む

新規ページを追加する

新規ページを追加する方法がいまいち分からない。結局普通にHTMLで作ってアップして終わりにしてしまった。

デフォルトだと、

  • 当サイトについて abouts
  • お問い合わせ contact
  • 特商法 order

これらのページがguide.tplのブロックとしてあって、そこにプライバシーポリシーを追加したかっただけだった。そもそもプライバシーポリシーが用意されていなかったことにはちょっとがっかりする。

/abouts/index.tpl にならって、/privacy/index.tpl を作ってみたがどうやらうまくいかない。追加されているという認識はされていないようである。

リモート上の/abouts/index.php がないからかと思って、/privacy/index.php を真似て変えてアップしたがエラーってる。まぁ、よくわかんないので今回は普通にFTPでHTMLをアップして終わりにした。

デザイン管理>ページ詳細編集>から追加してできそうだが、これも意味不明。理解できなかった。

  • 当サイトについて abouts
  • お問い合わせ contact
  • 特商法 order

これらのようにJavaScriptで選択状態にあるようなページの追加はどうやってやればいいのか?はてなであるが、まぁいっか。選択状態にすることにこだわらなければ普通にHTMLファイルアップして新規ページ追加できるわけだし。

 

デフォルトのメール文章内容の変更と削除のカスタマイズ

EC-CUBEのデフォルトメールは変な文章が冒頭に追加されています。
この文章はいらないので、削除したい場合は、
mail_templatesフォルダにある
contact_mail.tpl などのテンプレートを変更すれば削除できます。

※本メールは自動配信メールです。
等幅フォント(MSゴシック12ポイント、Osaka-等幅など)で
最適にご覧になれます。┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
※本メールは、
<!–{$tpl_shopname}–>より、お問い合わせをされた方に
お送りしています。
もしお心当たりが無い場合は、このままこのメールを破棄して
ください。
またその旨、<!–{$tpl_infoemail}–>まで
ご連絡いただければ幸いです。┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

 

上記の文章は不要なので、削除して
<!–{$arrForm.name01}–>様 から始まる普通の自動返信メールになるようにした方が良いですね。心当たりがないとか普通の場合は送信後に届いたら変な感じもしますし、破棄してくださいとかの文章も何だか変ですし、MSゴシックってフォントもMacでは通常入って無いし(Officeをインストールすれば入るが)何のことだか?と相手に疑問を抱かせるような文章はいらないですよね。

それと、

<!–{$tpl_header}–>
<!–{$tpl_footer}–>
がある、order_mail.tpl は、
基本情報管理>メール設定>注文受付メール
からヘッダーとフッターを追加できますが、問い合わせの contact_mail.tpl とかには <!–{$tpl_header}–> と <!–{$tpl_footer}–> が入っていないようです。入れれば対応するだろうけど。

管理画面からではなく、テンプレートセットから変更ってのもあってバラバラなので面倒くさいですね。

さらに、

メールタイトル(件名)が、
基本情報管理>メール設定>注文受付メール
は頭に【ショップ名】が付くのですが、

基本情報管理>メール設定>お問い合わせ受付メール
だと【ショップ名】が頭に入らない。疑問多しです。

.htaccessでindex.phpを/スラッシュのみにリダイレクト

よく、.htaccessで/index.htmlなどのURLを/以降ないURLに
統一するためのリダイレクトを使うのが、それが原因で不具合…後述。

http://abc.com/index.html →  http://abc.com/
http://abc.com/index.php →  http://abc.com/

こういった場合は、/index.htmlと/のみがどちらでも同じページに
アクセスされるので、/のみに統一するために.htaccessに

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php?\ HTTP/
RewriteRule ^(.*)index\.php?$ http://ec-cube.webtex.jp/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html?\ HTTP/
RewriteRule ^(.*)index\.html?$ http://ec-cube.webtex.jp/$1 [R=301,L]

と記述して、どちらかに統一することが多い。

コレをEC-CUBEのインストールしてあるドメイン直下に設定してみたのだが、いろいろなエラーが発覚。やらない方が良い。

  1. オーナーズストアの購入商品一覧を取得するが無反応
  2. デザイン管理でブロックのレイアウト設定が不可能に

などの不具合があったので、.htaccessのindex.html省略方法は辞めた方がいいですね。まだまだ不具合エラーはありそうなので、EC-CUBEインストールサイトではやらないこと。

EC-CUBE titleタグ【TOPページ】を消し任意のタイトルに

EC-CUBE 2.4.4にて。

/class/pages/LC_Page_Index.php
の48行目に

function init() {
parent::init();
$this->tpl_mainpage = ‘top.tpl’;
$this->tpl_column_num = 3;
$this->tpl_title =  ‘TOPページ’;
}

$this->tpl_title =  ‘TOPページ’;を追加する。

そして、
テンプレートのパッケージにある site_frame.tpl
のtitleタグに当たる部分を

<!–{if $tpl_title == “商品一覧ページ”}–><title><!–{$tpl_subtitle|escape}–> | <!–{$arrSiteInfo.shop_name|escape}–></title><!–{elseif $tpl_title == “TOPページ”}–><title>任意のタイトル</title><!–{else}–><title><!–{$tpl_title|escape}–> | <!–{$arrSiteInfo.shop_name|escape}–></title><!–{/if}–>

とする。デフォルトではカテゴリーページは全て同じタイトルになってしまうが、これでカテゴリ名もtitleタグに反映される。しかし、第二カテゴリは第一カテゴリ名のままだが…。

  1. 第一カテゴリ名は出る。
  2. トップページはショップ名に関係なく任意に
  3. それ以外は、タイトル | ショップ名 になる

ここで商品詳細を取り除けてる訳ではない。

EC-CUBE title 【商品詳細】 を消す取り除く方法とやり方

EC-CUBE 2.4.4での事象

/class/pages/products/LC_Page_Products_Detail.php
の253行目と458行目にある商品詳細 を取り除き、再度アップロード。

$this->tpl_title = “商品詳細 “. $this->arrProduct[“name”];

TOPページのカスタマイズと混同しがちだが、どうやらあっちの、if のトップページでもなく、一覧でもないということのelseの頭に商品詳細 が付くものなので、この方法だけなのだろう。

CSSのデフォルト設定どうだったっけ?

触っていないと忘れちゃうことが多いのがEC-CUBEのこと。
初期のCSSがどうなっているのか、おさらい。

CSSのlinkは1つだけ、

<link rel=”stylesheet” href=”/user_data/css/common.css” type=”text/css” media=”all” />

common.cssの中身は、

@charset “utf-8”;
@import url(“../packages/default/css/import.css”);

上記のdefaultはテンプレートパッケージ名によって変わる。

/css/import.css 自ら作ったものではなく、最初からある物。
import.css というファイル名を通常サイトでもよく使うのでカスタムでアップロードしていたのか混乱していた。これが悩みの原因だった…。