試しにContactform7を入れてみた(追記版)

以前「ECCUBEのお問い合わせフォームの複製/別作成 増やし方」で紹介もしましたが。

WordPressも実装しているのであればコチラのContactform7を入れたいくらいです。
主な機能は下記。
基本的なお問い合わせフォーム機能はもちろんのこと。
メール形式チェック
入力必須項目の実装
CAPTCHA(画像認証)
ファイル添付機能
などなど、カスタマイズ性には特化しているかと思います。

なのですが・・・ファーストサーバーで文字化けする・・・orz

“試しにContactform7を入れてみた(追記版)” の続きを読む

※ PHPファイルの作成に失敗しました EC-CUBE2.1.4

※ PHPファイルの作成に失敗しました

と表示される事象に遭遇中です。

「デザイン管理>PC>ページ詳細設定」で新規ページ追加時に起こった現象ですが。

ブロック設定からの新規追加は可能。

パーミッション変更でもらちがあきませんでした。

ん〜どうしよう。。。

面倒なので以下で解決。

phpが作れないとダダをこねるなら。。。。

登録したいファイル名でphpを予め作りFTPで「user_data」にアップロード。

因にファイル内容は下記でアップロード。

そしてブラウザ側で登録ボタンを押すことでtplファイルの生成とSQLへの登録も行えます。

以下余談。

クラスがだめなのかと思い、該当ファイルのみナイトリービルドを突っ込んでみました。

案の定デザインclassだった為か全部書き換えられ、一時的にuser_dataフォルダも認識しない状態に・・・

バックアップとって再インストールして解決。

EC-CUBE 動的ページを静的ページ(静的URL)にする

なぜ静的URLにするのかというと・・・

GoogleやYahoo! などの検索の場合、動的URLでは、一つのページとみなしてしまいます。 (まぁ最近じゃ?がついていようとインデックスしてくれるみたいですが) ちなみに動的URLとは下記のように?が入るURLです。 http://サーバ名/ec-cube/html/products/detail.php?product_id=xxこちらですと、検索するにあたって、detail.phpのファイルとみなされていまい、 1ページしかインデックスされません。

ですので、各ページごとにインデックスされるように、 http://サーバ名/ec-cube/html/products/detail/xx

とします。これが静的URLです。 実際にページは存在していませんが、 検索ロボットに存在しているように見せることができます。

1. パラメータを変える。

まず、 システム設定>パラメータ設定より以下を変更います。 パラメータ:LIST_P_HTML 変更前:URL_DIR . “products/list-p” 変更後:URL_DIR . “products/list/” パラメータ:DETAIL_P_HTML変更前:URL_DIR . “products/detail.php?product_id=”変更後:URL_DIR . “products/detail/”

2. .htaccsessファイルをhtml/products/以下にに配置します。 そのファイルに下記の内容を追加します。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^detail/([0-9]+)+ detail.php?product_id=$1 [L] RewriteRule ^list/([0-9]+)+ list.php?category_id=$1 [L]

※.htaccsessは、html/ 内にありますので、それをコピーして設置すると楽です。

3.管理画面>デザイン管理>ブロック編集>カテゴリを開き46行目あたりのソースを変更

こちらはカテゴリのリンクの変更です。

変更前:products/list.php?category_id= 変更後:products/list/

4.管理画面>デザイン管理>ページ詳細設定>商品詳細ページのソースを変更

商品詳細のページのリンクが静的ページにするために、パス( / )を切った関係で、階層が一つ多くなってしまいました。

変更箇所は、 内の合計6つ変更です。

変更前:./ 変更後:../  ※2階層上へ送っている

他、動作には関係ありませんが、こちらも変更をオススメ、

 

変更前:products/list.php?category_id= 変更後:products/list/

これで、変更完了です。 各種エディターを使って、コピペして、コマンド+Fで所定の箇所を探してみてください。

WordPress 管理画面のレイアウト崩れ

管理画面のレイアウト崩れが。。

define( ‘CONCATENATE_SCRIPTS’, false );
ただしこれは根本的な解決策ではありません。

define( ‘CONCATENATE_SCRIPTS’, false ); というコードを wp-config.php の最初に追加する。
WordPress のスピードは遅くなるので、数日後に削除してまたテストしてみること。
(これを行うことで古いネットワークキャッシュを削除できます)

ということなので、一定期間経過後コードを削除してレイアウトの状態を見てみることにしました。
が、1週間強経過しているにもかかわらず、状態は変わらずです。
もうしばらく様子を見ようとも思ったのですが、原因が分からないのも気持ちが悪いので、
再度ぐーぐる先生に聞いてみました。

WordPressをCORESERVERに設置する|pc.casey.jp

今まで色々いじくっているので、.htaccessの内容がおかしくなっていることでしょう。
まずはこちらの記事の「.htaccessファイルを設置」する項目を実践しました。

WordPressルートフォルダの.htaccessには


AddHandler application/x-httpd-phpcgi .php

wp-contentフォルダの.htaccessには


AddHandler application/x-httpd-phpcgi .php

wp-adminフォルダの.htaccessには


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php


AddHandler application/x-httpd-phpcgi .php

それから「管理画面のレイアウトが崩れる=CSSが読み込まれていない」ということで、
納得のいく説明をされていた以下のブログも参考にさせてもらいました。

WordPress 2.9.1 自動アップデート後に管理画面表示がおかしくなった時の対処法|guttyo blog

上記ブログの管理者さんが調べたことによると、原因はこういうことらしい。

この現象の原因は下記のような.htaccessファイルでPHPをCGIモードで動かしているときに、
load-style.phpが吐き出す content-type=text/htmlだからだそうだ。
text/cssではないのでFirefoxではcssと認識しないということらしい。


AddHandler application/x-httpd-php5cgi .php

なるほど、text/cssになればいいって訳なのね。
でも、部分的にCGIとして動かしてはいてもPHP全体をCGIとして動かしてはいないし、
やっぱ、なんかおかしくなってるのかなぁ?

まぁ、要はこれが重要な訳で。

# こいつだけモジュール版で動作させる


AddHandler application/x-httpd-php .php

このコードをwp-adminファイルの.htaccessに記載すると、
今まで悩んでいたレイアウト崩れは嘘のように解決しました。

define( ‘CONCATENATE_SCRIPTS’, false );
ともおさらばしました。

レビュー一覧ページ作成 ec-cube2.11以降

まず管理画面にログインして、デザイン管理>PC>レイアウト設定 から、ページを新規入力します。
URLは review_list.php として、以下のコードを貼り付けて保存します。

次に、html/user_data/review_list.php を開いて、次のように修正します。

data/Smarty/templates/default/user_data/review_list.tpl を以下のように変更します。

以上。

ブロック化は以下。

デザイン管理>PC>ブロックの設定新規ブロックで下記を作成。
ブロック名:お客様の声一覧
ファイル名:review_list_bloc

トップページのブロックで表示する場合、html直下のindex.php下記のような感じで書き換え。

基本的には同じ作業。
画像とかは適当にかえましょう。
(レビュー自体未投稿だと空欄なので適当に用意しておきましょう。)

「特定商取引法」項目のカスタマイズ

特定商取引法の項目追加の件 古物系(オークション)や中古家電販売をされている方は許可番号をどうしたって入力しないとなりません。
(場合によっては数県分入力せねばいけないときもありマスが。)

参考例として、項目「運営責任者」の下に項目「許可番号等」を追加する例を記載します。
今回の追加作業にはDBの操作が必要になるので、自己責任でバックアップとりましょう。

追加分カラム名を「law_no1」としました。

増やす場合は重複しなければあとは任意で好きなだけ増やしましょう。

基本MySQLしかいじったことないので以下はMySQL中心です。

1.\data\class\pages\admin\basis\LC_Page_Admin_Basis_Tradelaw.php 管理画面用の追加。

・「パラメータ情報の初期化」の「運営責任者」の下に下記を追加する。

 

 

2.\data\Smarty\templates\admin\basis\tradelaw.tpl 管理画面用テンプレ変更 ・「運営責任者」のデータ部分の下に下記を追加する。

 

 

\data\Smarty\templates\default\order\index.tpl (「利用ガイド」での「特定商取引法」ボタン押下後の表示テンプレート) ・「運営責任者」のデータ部分の下に下記を追加する。

 

 

携帯スマフォも同様に追加。 \data\Smarty\templates\sphone\order\index.tpl \data\Smarty\templates\mobile\order\index.tpl 携帯

 

 

絵文字は好きなの使いましょう。 (ネットで「絵文字コード」とかググれば一覧表が出てくるはずなので。) スマフォ

 

 

最後にデータベース追記 dtb_baseinfo の中にカラム追加。 カラム「law_no1」を追加。 (カラム形式はtext)

 

ヤマト家財便の追加方法1(関東発送の場合)

ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。
というか家財便のモノしか送れなくなります。
※ちなみに下記の設定は関東地区からの発送の場合になります。

管理画面-システム設定-パラメタ設定を下記に変更
DELIV_ADDR_MAX ・・・0
OPTION_DELIV_FEE ・・・1
OPTION_PRODUCT_DELIV_FEE ・・・1

まずさきにヤマト家財便のお届け地方が50コード(北海道4分割)存在するので変更。

[ec-cube既存の都道府県コード]

MySQLのDBを下記に変更
今回はmtb_prefテーブルを削除後に再度DB(下記)をid:1から50として変更追加
※先に顧客登録があると都道府県がズレます。なので初期インストール時に実行する為のもの。
(アップデート仕様のものは制作中)

mtb_constantsテーブルのid=DELIVFEE_MAXのレコードを47 -> 50に変更

/data/mtb_constants_init.phpのDELIVFEE_MAXのレコードを47 -> 50に変更
/data/cache/mtb_constants.php を削除
/data/cache/mtb_pref.php を削除

上記を削除してから「お客様情報入力」ページを開くと反映されていますとりあえずは都道府県の再登録完了。
管理画面>基本情報設定>配送設定 の中で48以降の県が増えているので一応料金を設定。(ここで設定した料金は支払い情報には反映されませんが。)
※離島・海外等の処理はまた後日

——————-

管理画面-システム設定-パラメタ設定で別のお届け先最大登録数

DELIV_ADDR_MAX に0を設定する。

商品送料を商品重量に変更する
data/Smarty/templates/admin/products/confirm.tpl
132行目 商品送料→送料ランク
135行目 円→/3辺合計

data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
320行目

data\Smarty\templates\admin\products\product.tpl
198行目付近

商品送料をランクに変更↓

送料ランク *213行目
円→/3辺合計

data/class/SC_CartSession.php

609行目付近 「配送業者の送料を加算」の次に「配送ランクを加算」を追加
ここではサイズをcmではなくmmで設定しています。

とりあえず都道府県のコード1まで記述。
残りのコードはこちらのリンクから”ヤマト家財便 発送料金
※関東地区からの発送の場合になります。

後は商品登録時に商品送料ランクの部分に三辺合計を指示するのみです。

「ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。」とか書いておきながら。
この設定では家財便のモノしか送れなくなります。なので別途で送料指定が可能なものを模索中・・・
商品種別を増やしてやればうまいこと行くかもしれないけれど・・・しかも家財便の場合代引きができないことも多いしな・・・
支払方法を増やすか支払方法でク分けるかor商品送料自体を2つにして2重チェック(?)したらいいんだろうか。

というか、書いてある「// 配送業者の送料を加算」コードの最終行(break;の次の行)に、下記追記で対応できますねw

このdefault:文は試していないのでうまくいくかどうかは検証してみます。。。