ファイルパスは下記で調べる。
1 2 3 |
// 1つ上のディレクトリにある index.php のサーバー上の絶対パスを取得し表示します。 $path = realpath("../index.php"); echo $path; |
クリエイターと名乗ってみた。
EC-CUBEカスタマイズ
ファイルパスは下記で調べる。
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
どこで編集したか忘れそうになるので、備忘録。
編集ファイルの場所data/Smarty/site_frame.tpl
META tag 編集 title keywords description などを下記から編集できます。
で、問題は初期状態で、各ページ編集できるようになっていたかなのですが。
多分???初期状態からできたはず。
一応コードも↓
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 |
<!--追記--> <!--{if $tpl_title == "商品一覧ページ"}--> <title><!--{$tpl_subtitle|escape}-->商品一覧用タイトル</title> <meta name="keywords" content="" /> <meta name="google-site-verification" content="0OvRjVOkgdX_SX3jk1OKnIR4YyCwtRowtyPIFYh_ahU" /> <meta name="description" content="" /> <!--{elseif $tpl_title == "TOPページ" || $tpl_title == ""}--> <title>トップページ用タイトル</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <!--{elseif $tpl_mainpage=="shopping/index.tpl"}--> <title>ログイン|サイト名を表示します。</title> <meta name="keywords" content="ログイン,AAA,BBB,CCC,DDD" /> <meta name="description" content="ログインページ。ここにログインページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/card.tpl"}--> <title>クレジットカード決済|サイト名を表示します。</title> <meta name="keywords" content="クレジットカード決済,AAA,BBB,CCC,DDD" /> <meta name="description" content="クレジットカード決済ページ。ここにクレジットカード決済ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/complete.tpl"}--> <title>ご注文完了|サイト名を表示します。</title> <meta name="keywords" content="ご注文完了,AAA,BBB,CCC,DDD" /> <meta name="description" content="ご注文完了ページ。ここにご注文完了ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/confirm.tpl"}--> <title>ご入力内容のご確認|サイト名を表示します。</title> <meta name="keywords" content="ご入力内容,ご確認,AAA,BBB,CCC,DDD" /> <meta name="description" content="ご入力内容のご確認ページ。ここにご入力内容のご確認ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/convenience.tpl"}--> <title>コンビニ決済|サイト名を表示します。</title> <meta name="keywords" content="コンビニ決済,AAA,BBB,CCC,DDD" /> <meta name="description" content="コンビニ決済ページ。ここにコンビニ決済ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/deliv.tpl"}--> <title>お届け先の指定|サイト名を表示します。</title> <meta name="keywords" content="お届け先の指定,AAA,BBB,CCC,DDD" /> <meta name="description" content="お届け先の指定ページ。ここにお届け先の指定ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/nonmember_input.tpl"}--> <title>お客様情報入力|サイト名を表示します。</title> <meta name="keywords" content="お客様情報入力,AAA,BBB,CCC,DDD" /> <meta name="description" content="お客様情報入力ページ。ここにお客様情報入力ページのディスクリプションが表示されます。" /> <!--{elseif $tpl_mainpage=="shopping/payment.tpl"}--> <title>お支払い方法、お届け時間等の指定|サイト名を表示します。</title> <meta name="keywords" content="お支払い方法,お届け時間,AAA,BBB,CCC,DDD" /> <meta name="description" content="お支払い方法、お届け時間等の指定ページ。ここにお支払い方法、お届け時間等の指定ページのディスクリプションが表示されます。" /> <!--{else}--> <title><!--{$tpl_title|escape}-->|サイト名を表示します。</title> <meta name="keywords" content="<!--{$tpl_title|escape}-->,<!--{$arrPageLayout.keyword|escape}-->" /> <meta name="description" content="<!--{$tpl_title|escape}-->。<!--{$arrPageLayout.description|escape}-->" /> <!--{/if}--> <!--追記終了--> |
追記とか書いてるしw
んん~、自分で書いたか忘れましたw
それか、どっかから拾ってきたらしい。。。。。
元ネタサイトのかたすいません><。。
備忘録として使わせてもらいましたw
コメントなしでもサブ画像のみ表示する方法
商品詳細のページでサブ画像だけ増やしたいときにこれを使用。
最終的には縦並びになるのでCSSで横に並ぶようにしました。
templates/default/products/details.tpl
下記コードのサブタイトルとサブ画像を切り離します。
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 |
<!--▼サブコメント--> <!--{section name=cnt loop=$smarty.const.PRODUCTSUB_MAX}--> <!--{assign var=key value="sub_title`$smarty.section.cnt.index+1`"}--> <!--{if $arrProduct[$key] != ""}--> <div class="sub_area clearfix"> <h3><!--★サブタイトル★--><!--{$arrProduct[$key]|h}--></h3> <!--{assign var=ckey value="sub_comment`$smarty.section.cnt.index+1`"}--> <!--▼サブ画像--> <!--{assign var=key value="sub_image`$smarty.section.cnt.index+1`"}--> <!--{assign var=lkey value="sub_large_image`$smarty.section.cnt.index+1`"}--> <!--{if $arrProduct[$key]|strlen >= 1}--> <div class="subtext"><!--★サブテキスト★--><!--{$arrProduct[$ckey]|nl2br_html}--></div> <div class="subphotoimg"> <!--{if $arrProduct[$lkey]|strlen >= 1}--> <a class="expansion" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_expansion_on.gif', 'expansion_<!--{$lkey|h}-->');" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_expansion.gif', 'expansion_<!--{$lkey|h}-->');" href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrProduct[$lkey]|h}-->" target="_blank"> <!--{/if}--> <img src="<!--{$arrFile[$key].filepath}-->" alt="<!--{$arrProduct.name|h}-->" width="<!--{$arrFile[$key].width}-->" height="<!--{$arrFile[$key].height}-->" /> <!--{if $arrProduct[$lkey]|strlen >= 1}--></a> <span class="mini"> <a class="expansion" href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrProduct[$lkey]|h}-->" target="_blank"> 画像を拡大する</a> </span> <!--{/if}--></div> <!--{else}--> <!--★サブテキスト★--><!--{$arrProduct[$ckey]|nl2br_html}--> <!--{/if}--> <!--▲サブ画像--> </div> <!--{/if}--> <!--{/section}--> <!--▲サブコメント--> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!--▼サブコメント--> <!--{section name=cnt loop=$smarty.const.PRODUCTSUB_MAX}--> <!--{assign var=key value="sub_title`$smarty.section.cnt.index+1`"}--> <!--{if $arrProduct[$key] != ""}--> <div class="sub_area clearfix"> <h3><!--★サブタイトル★--><!--{$arrProduct[$key]|h}--></h3> <!--{assign var=ckey value="sub_comment`$smarty.section.cnt.index+1`"}--> <!--★サブテキスト★--><!--{$arrProduct[$ckey]|nl2br_html}--> </div> <!--{/if}--> <!--{/section}--> <!--▲サブコメント--> |
上記コードを下記に丸ごと書き換え。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<!--▼サブ画像--> <!--{section name=cnt loop=$smarty.const.PRODUCTSUB_MAX}--> <!--{assign var=key value="sub_image`$smarty.section.cnt.index+1`"}--> <!--{assign var=lkey value="sub_large_image`$smarty.section.cnt.index+1`"}--> <!--{if $arrProduct[$key]|strlen >= 1}--> <div class="subphotoimg"> <!--{if $arrProduct[$lkey]|strlen >= 1}--> <a class="expansion" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_expansion_on.gif', 'expansion_<!--{$lkey|h}-->');" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_expansion.gif', 'expansion_<!--{$lkey|h}-->');" href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrProduct[$lkey]|h}-->" target="_blank"> <!--{/if}--> <img src="<!--{$arrFile[$key].filepath}-->" alt="<!--{$arrProduct.name|h}-->" width="<!--{$arrFile[$key].width}-->" height="<!--{$arrFile[$key].height}-->" /> <!--{if $arrProduct[$lkey]|strlen >= 1}--></a> <span class="mini"> <a class="expansion" href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrProduct[$lkey]|h}-->" target="_blank"> 画像を拡大する</a> </span> <!--{/if}--></div> <!--{/if}--> <!--{/section}--> <!--▲サブ画像--> |
多分コレで出来るはず。
(スマフォ版もコレで行けました。)
ただ縦に並ぶだけなので、CSSのdiv.subphotoimgを下記コードに書き換え。
1 2 3 4 |
div.subphotoimg { float: right; text-align: right; } |
ちなみにfloat:right;なので右揃え。
通常はleftでもいいかと思います。
なので、コメント欄の後ろのほうに登録した写真が左に来て、上位のコメントにつけた画像が右に来る可能性あり。
あと表示位置をメイン写真の真下に持ってこれれば最高、しかもクリックしたらそれもLightBox風にできぬだろうか・・・
ヘッダーにカテゴリを表示します。
CSSハックでドロップダウンメニューにも対応。
一応管理画面からだけで設定可能なシンプル版です。 “ヘッダーにカテゴリを表示:ドロップダウンメニュー(CSS)” の続きを読む
編集データ
date/Smatry/template/default/products/detail.tpl
下記記述を変更
1 2 3 4 5 6 7 |
<!--▼メーカーURL--> <!--{if $arrProduct.comment1|strlen >= 1}--> <div><span class="comment1">メーカーURL: <a href="<!--{$arrProduct.comment1|h}-->"><!--{$arrProduct.comment1|h}--></a> </div> <!--{/if}--> <!--▼メーカーURL--> |
155行目付近を下記に変更
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<br style="clear:both" /> <!--▼メーカー名--> <!--{if $arrProduct.maker_name|strlen >= 1}--> <div><span class="comment1">メーカー : <a href="<!--{$arrProduct.comment1|h}-->"><!--{$arrProduct.maker_name|h}--></a></span> </div> <!--{/if}--> <!--▲メーカー名--> <!--▼メーカーURL--> <!--{if $arrProduct.comment1|strlen >= 1}--> <div><span class="comment1">メーカーURL: <a href="<!--{$arrProduct.comment1|h}-->"><!--{$arrProduct.comment1|h}--></a></span> </div> <!--{/if}--> <!--▲メーカーURL--> |