ファイルパスは下記で調べる。
1 2 3 |
// 1つ上のディレクトリにある index.php のサーバー上の絶対パスを取得し表示します。 $path = realpath("../index.php"); echo $path; |
クリエイターと名乗ってみた。
ファイルパスは下記で調べる。
1 2 3 |
// 1つ上のディレクトリにある index.php のサーバー上の絶対パスを取得し表示します。 $path = realpath("../index.php"); echo $path; |
下記のコード追加でPHPをインクルード可能。
1 2 3 |
<!--{php}--> include('/XXXXpath/index.php'); <!--{/php}--> |
またはSmartyからPHPを実行することが出来ます。
パスは開いたときのURLからの相対パスorサーバーの絶対パス。
ファイルパスは下記で調べる。
1 2 3 |
// 1つ上のディレクトリにある index.php のサーバー上の絶対パスを取得し表示します。 $path = realpath("../index.php"); echo $path; |
コレで別のPHPアプリも起動可能。掲示板/Blogなど。
内部SEO対策を行う上で、重要なのはタグです。
・Titleタグ
・Metaタグ
・Hタグ
・Altタグ
・Aタグ
・Strongタグ
とSEOに関連するタグはありますが、SEOを行う上で重要なのがTITLEタグです。
特にみずいろ堂では商品詳細のページにランディングしてもらおうという考えですので
商品詳細ページのタイトルは重要です!
しかしながら、デフォルトの商品詳細ページのTitleタグは納得がいきません!
商品詳細ページは、各々の商品の物販サイトであるということを意識したタイトルにしました。
【対象ファイル】
data\class\pages\products\LC_Page_Products_Detail.php
【変更箇所】
$this->tpl_title = “商品詳細 “. $this->arrProduct[“name”];
を
$this->tpl_title = “通販 “. $this->arrProduct[“name”];
などに変更するだけです。
SEOにとって重要でありますが、変更は非常に簡単ですので、やってみるべき変更だと思います。
特定商取引法の項目追加の件 古物系(オークション)や中古家電販売をされている方は許可番号をどうしたって入力しないとなりません。
(場合によっては数県分入力せねばいけないときもありマスが。)
参考例として、項目「運営責任者」の下に項目「許可番号等」を追加する例を記載します。
今回の追加作業にはDBの操作が必要になるので、自己責任でバックアップとりましょう。
追加分カラム名を「law_no1」としました。
増やす場合は重複しなければあとは任意で好きなだけ増やしましょう。
基本MySQLしかいじったことないので以下はMySQL中心です。
1.\data\class\pages\admin\basis\LC_Page_Admin_Basis_Tradelaw.php 管理画面用の追加。
・「パラメータ情報の初期化」の「運営責任者」の下に下記を追加する。
1 |
objFormParam->addParam("古物商許可証番号", "law_no1", MTEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); |
2.\data\Smarty\templates\admin\basis\tradelaw.tpl 管理画面用テンプレ変更 ・「運営責任者」のデータ部分の下に下記を追加する。
1 2 3 4 |
許可番号等<span> *</span> <!--–{assign var=key value=”law_no1″}–--> <span><!--–{$arrErr[$key]}–--></span> <textarea name="”<!–{$arrForm[$key].keyname}–">” maxlength=”<!–{$arrForm[$key].length}–>” cols=”60″ rows=”8″ style=”<!–{$arrErr[$key]|sfGetErrorColor}–>” ><!–{$arrForm[$key].value|escape}–></textarea><span> (上限<!--–{$arrForm[$key].length}–-->文字)</span> |
\data\Smarty\templates\default\order\index.tpl (「利用ガイド」での「特定商取引法」ボタン押下後の表示テンプレート) ・「運営責任者」のデータ部分の下に下記を追加する。
1 2 |
古物商許可証番号 <!--–{$arrRet.law_no1|escape|nl2br}–--> |
携帯スマフォも同様に追加。 \data\Smarty\templates\sphone\order\index.tpl \data\Smarty\templates\mobile\order\index.tpl 携帯
1 2 |
[emoji:39]<span>古物商許可証番号</span> <!--–{$arrRet.law_no1|escape|nl2br}–--><hr /> |
絵文字は好きなの使いましょう。 (ネットで「絵文字コード」とかググれば一覧表が出てくるはずなので。) スマフォ
1 2 |
<dt>古物商許可番号</dt> <dd><!--{$arrOrder.law_no1_company|h}--></dd> |
最後にデータベース追記 dtb_baseinfo の中にカラム追加。 カラム「law_no1」を追加。 (カラム形式はtext)
今日、特商法の部分を記入していたら文字数制限に到達w
なのでいじりましたw
/data/mtb_constants_init.php
/data/class/pages/admin/basis/LC_Page_Admin_Basis_Tradelaw.php
/data/Smarty/template/admin/basis/tradelaw.tpl
この3つを主にいじります。
手順は二段階。
1.もともとの入力制限数を解除
2.文字数チェック自体要らないので削除
3.入力時に文字をカウントしてるので解除
1./data/mtb_constants_init.phpの変更点
1 2 3 4 |
/** 長い項目の文字数 (住所など) */ define('MTEXT_LEN', 200); /** 長中文の文字数 (問い合わせなど) */ define('MLTEXT_LEN', 1000); |
下記に変更。多分250行から260行付近です。
1 2 3 4 |
/** 長い項目の文字数 (住所など) */ define('MTEXT_LEN', 6000); /** 長中文の文字数 (問い合わせなど) */ define('MLTEXT_LEN', 2000); |
MTEXT_LEN が特商法の入力で一番文字数の必要なところ。
配送や返品に関してだと思います。
なのでありったけの文字数突っ込みましたw
2./data/class/pages/admin/basis/LC_Page_Admin_Basis_Tradelaw.php
入力して多かったらまた入力してくれ!みたいなことを行っている部分を削除します。
125から145行目あたりで解除したい項目の下記のコードを削除
「,」も削除してください。じゃないとエラーになるはず。
,”MAX_LENGTH_CHECK”
となりの「”EXIST_CHECK”」は未入力チェックっぽいのでいじらずw
3./data/Smarty/template/admin/basis/tradelaw.tpl
入力時のフォームで文字数をカウントしてるのでいっそのこと解除。
Smartyの都合か1.で変更してもなぜかすぐに反映されなくて、じれったかったので文字カウントごと消してやりました。
maxlength=””
この文が書いてあるような箇所で文字数増やしたいところを片っ端から削除。
これ消せばOKですが、あとはお好みで下記の文章も消しましょう。
(上限文字)
今日、もらった文章をそのままコピペで行こうかと思って突っ込んだら文字数制限で、ちょっとイラっとしながらも、どうせDBで制御してんだろ!とか思いながらDBのぞいてましたが見当たらず。
なので、ググりながらいじりながらようやく正解が出ましたよw
代引きとか配達方法の文言入れるの考えたらどうやったって200文字以上いくw
あとできれば古物商とか許可番号とかいろいろ増やせれば楽なのにねw
一応、特定商取引法の項目の追加も一度やっているのであとで書きます・・・・記憶のあるうちにw
ECCUBEのお問い合わせフォームの増やし方eccube2.11版
3時間くらい悩んだ末に解決w
まず、contactを総べてコピペでcontact2に変更後、最後に苦戦したのが、pagelayoutのDBを追加すること。
これやんないと表示されませんでした。
●data/class/page/contact→contact2を作成。
ファイル中の2つのphpのなかでcontactもcontact2に変更。
LC_Page_Contact_Complete 44行目付近。多分これ。
1 2 3 4 5 |
function init() { parent::init(); $this->tpl_title = 'お問い合わせ(完了ページ)'; $this->tpl_mainno = 'contact2'; } |
LC_Page_Contact.php 44行目付近もかな??
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function init() { parent::init(); if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) { $this->tpl_title = 'お問い合わせ'; } else { $this->tpl_title = 'お問い合わせ(入力ページ)'; } $this->tpl_page_category = 'contact2'; $this->httpCacheControl('nocache'); $masterData = new SC_DB_MasterData_Ex(); $this->arrPref = $masterData->getMasterData('mtb_pref'); } |
●data/class_extends/page_extends/contact→同様にcontact2を作成。phpの作業は同上。
LC_Page_Contact_Complete 28行目付近。多分これ。
1 |
require_once CLASS_REALDIR . 'pages/contact2/LC_Page_Contact_Complete.php'; |
LC_Page_Contact.php 28行目付近もかな??
1 |
require_once CLASS_REALDIR . 'pages/contact2/LC_Page_Contact.php'; |
●data/Smarty/templates/default/contact→contact2を作成。
フォルダ中の3つのtplで指定されているcontactをcontact2に変更。
contactの文字が見当たらなかった気がするのでパスw
●html/contact→contact2を作成。フォルダ中の2つのファイルのcontactをcontact2に変更。
complete.php 26行目付近
1 |
require_once CLASS_EX_REALDIR . 'page_extends/contact2/LC_Page_Contact_Complete_Ex.php'; |
index.php 25行目付近
1 |
require_once CLASS_EX_REALDIR . 'page_extends/contact2/LC_Page_Contact_Ex.php'; |
tpl作成まではこれで完了。
とここまでなら簡単にできましたが。
dbの追加が問題w
どこなのかわからなくて苦労しましたがw
phpMyAdminでみると、dtb_pagelayoutで挿入しました。
device_type_id =10(PC用)
page_id =29(デフォルトで行くとこのページレイアウトナンバー)
url =contact2/index.php(コピペした場所)
filename =contact2/index(拡張子なし)
あとはそのままでOKで実行ボタン押しました。
これをcompleteページ分も追加で表示されるようになりました。
URLはhttp://ドメイン/contact2/index.php
DBいじるので自己責任で加工願います、とくにやる前はDBのバックアップを。
挿入するところ間違えて削除ボタン押してDB復旧させましたよ・・・・w
で、つぎは加工しないとただのコピーで終わってしまうので、それはまたあしたやろーっとw
(一応アンケートフォームにしようかと思ってますw)
出来れば添付ファイルもつけれるといいなぁw
ヘッダーにカテゴリを表示します。
CSSハックでドロップダウンメニューにも対応。
一応管理画面からだけで設定可能なシンプル版です。 “ヘッダーにカテゴリを表示:ドロップダウンメニュー(CSS)” の続きを読む
ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。
というか家財便のモノしか送れなくなります。
※ちなみに下記の設定は関東地区からの発送の場合になります。
管理画面-システム設定-パラメタ設定を下記に変更
DELIV_ADDR_MAX ・・・0
OPTION_DELIV_FEE ・・・1
OPTION_PRODUCT_DELIV_FEE ・・・1
まずさきにヤマト家財便のお届け地方が50コード(北海道4分割)存在するので変更。
[ec-cube既存の都道府県コード]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
1 = 北海道 2 = 青森県 3 = 岩手県 4 = 宮城県 5 = 秋田県 6 = 山形県 7 = 福島県 8 = 茨城県 9 = 栃木県 10 = 群馬県 11 = 埼玉県 12 = 千葉県 13 = 東京都 14 = 神奈川県 15 = 新潟県 16 = 富山県 17 = 石川県 18 = 福井県 19 = 山梨県 20 = 長野県 21 = 岐阜県 22 = 静岡県 23 = 愛知県 24 = 三重県 25 = 滋賀県 26 = 京都府 27 = 大阪府 28 = 兵庫県 29 = 奈良県 30 = 和歌山県 31 = 鳥取県 32 = 島根県 33 = 岡山県 34 = 広島県 35 = 山口県 36 = 徳島県 37 = 香川県 38 = 愛媛県 39 = 高知県 40 = 福岡県 41 = 佐賀県 42 = 長崎県 43 = 熊本県 44 = 大分県 45 = 宮崎県 46 = 鹿児島県 47 = 沖縄県 |
MySQLのDBを下記に変更
今回はmtb_prefテーブルを削除後に再度DB(下記)をid:1から50として変更追加
※先に顧客登録があると都道府県がズレます。なので初期インストール時に実行する為のもの。
(アップデート仕様のものは制作中)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
-- -- テーブルの構造 `mtb_pref` -- CREATE TABLE `mtb_pref` ( `id` smallint(6) NOT NULL DEFAULT '0', `name` text, `rank` smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=ujis; -- -- テーブルのデータをダンプしています `mtb_pref` -- INSERT INTO `mtb_pref` (`id`, `name`, `rank`) VALUES (1, '札幌', 1) (2, '函館', 2) (3, '道北', 3) (4, '道東', 4) (5, '青森県', 5) (6, '岩手県', 6) (7, '宮城県', 7) (8, '秋田県', 8) (9, '山形県', 9) (10, '福島県', 10) (11, '茨城県', 11) (12, '栃木県', 12) (13, '群馬県', 13) (14, '埼玉県', 14) (15, '千葉県', 15) (16, '東京都', 16) (17, '神奈川県', 17) (18, '新潟県', 18) (19, '富山県', 19) (20, '石川県', 20) (21, '福井県', 21) (22, '山梨県', 22) (23, '長野県', 23) (24, '岐阜県', 24) (25, '静岡県', 25) (26, '愛知県', 26) (27, '三重県', 27) (28, '滋賀県', 28) (29, '京都府', 29) (30, '大阪府', 30) (31, '兵庫県', 31) (32, '奈良県', 32) (33, '和歌山県', 33) (34, '鳥取県', 34) (35, '島根県', 35) (36, '岡山県', 36) (37, '広島県', 37) (38, '山口県', 38) (39, '徳島県', 39) (40, '香川県', 40) (41, '愛媛県', 41) (42, '高知県', 42) (43, '福岡県', 43) (44, '佐賀県', 44) (45, '長崎県', 45) (46, '熊本県', 46) (47, '大分県', 47) (48, '宮崎県', 48) (49, '鹿児島県', 49) (50, '沖縄県', 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行目
1 |
$objFormParam->addParam(“商品送料”, “deliv_fee”, PRICE_LEN, ‘n’, array(“NUM_CHECK”, “SPTAB_CHECK”, “MAX_LENGTH_CHECK”)); |
↓
1 |
$objFormParam->addParam(“送料ランク”, “deliv_fee”, PRICE_LEN, ‘n’, array(“EXIST_CHECK”, “NUM_CHECK”, “SPTAB_CHECK”, “MAX_LENGTH_CHECK”)); |
data\Smarty\templates\admin\products\product.tpl
198行目付近
商品送料をランクに変更↓
送料ランク *213行目
円→/3辺合計
data/class/SC_CartSession.php
609行目付近 「配送業者の送料を加算」の次に「配送ランクを加算」を追加
ここではサイズをcmではなくmmで設定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// 配送業者の送料を加算 if (OPTION_DELIV_FEE == 1 && !SC_Utils_Ex::isBlank($deliv_pref) && !SC_Utils_Ex::isBlank($deliv_id)) { $results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $deliv_id); } // 配送ランクを加算 $deliv_rank = $results['deliv_fee']; switch ($deliv_pref[0]) { case 1: //札幌 if ($deliv_rank <= 600){ $results['deliv_fee'] = 1160;} elseif ($deliv_rank <= 800){ $results['deliv_fee'] = 1370;} elseif ($deliv_rank <= 1000){ $results['deliv_fee'] = 1580;} elseif ($deliv_rank <= 1200){ $results['deliv_fee'] = 1790;} elseif ($deliv_rank <= 1400){ $results['deliv_fee'] = 2000;} elseif ($deliv_rank <= 1600){ $results['deliv_fee'] = 2210;} elseif ($deliv_rank <= 2000){ $results['deliv_fee'] = 5600;} elseif ($deliv_rank <= 2500){ $results['deliv_fee'] = 10000;} elseif ($deliv_rank <= 3000){ $results['deliv_fee'] = 14500;} elseif ($deliv_rank <= 3500){ $results['deliv_fee'] = 23000;} elseif ($deliv_rank <= 4000){ $results['deliv_fee'] = 29900;} elseif ($deliv_rank <= 4500){ $results['deliv_fee'] = 39500;} else { $results['deliv_fee'] = 0;}; break; //以下割愛 }; |
とりあえず都道府県のコード1まで記述。
残りのコードはこちらのリンクから”ヤマト家財便 発送料金”
※関東地区からの発送の場合になります。
後は商品登録時に商品送料ランクの部分に三辺合計を指示するのみです。
「ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。」とか書いておきながら。
この設定では家財便のモノしか送れなくなります。なので別途で送料指定が可能なものを模索中・・・
商品種別を増やしてやればうまいこと行くかもしれないけれど・・・しかも家財便の場合代引きができないことも多いしな・・・
支払方法を増やすか支払方法でク分けるかor商品送料自体を2つにして2重チェック(?)したらいいんだろうか。
というか、書いてある「// 配送業者の送料を加算」コードの最終行(break;の次の行)に、下記追記で対応できますねw
1 2 3 4 5 |
default: if ($deliv_rank <=10000){ $results['deliv_fee'] = 1000;}//10000mmの場合1000円(基本4500mm以上の数字で設定。) elseif ($deliv_rank <= 15000){ $results['deliv_fee'] = 50;}//以下適当にelseifを必要な分だけ増やす。 else { $results['deliv_fee'] = 0;}; break; |
このdefault:文は試していないのでうまくいくかどうかは検証してみます。。。