カテゴリー別アーカイブ: ■機能の変更

会員登録をした人のみ購入可能なサイトにしたい

これはちょっと考えたら簡単で、お買い物するときにすすむログインのページの「会員登録しないで買い物をする」という部分を削除してしまえば良いだけでした。

 

携帯は事実上登録しないと買い物できないので、直すのはPCとスマートフォンの設定のみです。

デザイン管理>PC>ページ詳細設定>商品購入/ログイン

デザイン管理>スマートフォン>ページ詳細設定>商品購入/ログイン

 

いずれも文末の部分を削除あるいはコメントアウトします。

<h4>会員登録をせずに購入手続きへ進む</h4>
<p class=”inputtext”>会員登録をせずに購入手続きをされたい方は、下記よりお進みください。</p>
<form name=”member_form2″ id=”member_form2″ method=”post” action=”?”>
<input type=”hidden” name=”<!–{$smarty.const.TRANSACTION_ID_NAME}–>” value=”<!–{$transactionid}–>” />
<input type=”hidden” name=”mode” value=”nonmember” />
<div class=”inputbox”>
<div class=”btn_area”>
<ul>
<li>
<input type=”image” class=”hover_change_image” src=”<!–{$TPL_URLPATH}–>img/button/btn_buystep.jpg” alt=”購入手続きへ” name=”buystep” id=”buystep” />
</li>
</ul>
</div>
</div>
</form>
</div>
</div>
</div>

さらに、”会員登録をする”ほうの説明文言も変えないといけませんね。

「当サイトは会員限定です。<br />

お買い物の際には簡単な会員登録をお願い致します。」

など、としたほうがいいですね。

ポイント制 廃止

やっとシステム設定>パラメータ設定で設定すれば、停止できるようになりましたね。

 

システム設定>パラメータ設定>USE_POINT

デフォルトではtureになっていますので、falseに書き直します。

これで出来上がり・・

 

簡単すぎて今までの苦労はいったい・・

工場直送商品の取扱い

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「ダウンロード商品」を「工場直送商品」に記載を変える

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

工場直通ということは、発送方法が限定されます。

また、うちではお支払に関しても代引きが出来ず、銀行振り込みのみに限定されます。

EC-CUBEでは商品事にこれらを限定させたりはできません。

そこで、「ダウンロード商品」という取扱いジャンルを、「工場直送商品」に代えればこれら上手く機能できそうです。

 

1

「ダウンロード商品」と表記される部分を「直送商品」と表記されるように書きかえます。

■システム設定>マスタデータ管理

>mtb_product_type

ここのID2の値を「ダウンロード商品」から「直送商品」と直接書きかえる。

追加の取扱があるときはここで項目を追加。

 

2

「ダウンロード商品」を、取り扱うか指定します。

■システム設定>パラメーター設定

PRODUCT_TYPE_DOWNLOAD

を2にすると、ダウンロード商品(工場直通商品)を取り扱うようになります。

 

 3

■手動でその他修正

たとえば、ダウンロード商品は購入時に必ず会員登録が必要になります。会員登録のないお客様の場合、商品をカートに入れると「ダウンロード商品を含むお買い物は、会員登録が必要です。」と表示されます。

ですのでこれを「「工場直通商品を含むお買い物は、会員登録が必要です。」と書き換えたらいいと思います。

 

data>class>pages>shoping>LC_Page_Shopping.php

106行目あたり

$msg = ‘ダウンロード商品を含むお買い物は、会員登録が必要となります。<br/>’

. ‘誠に恐れ入りますが会員登録をお願いします。’;

$msg = ‘直送商品を含むお買い物は、会員登録が必要となります。<br/>’

. ‘誠に恐れ入りますが会員登録をお願いします。’;

 

 

4

 

商品詳細ページやリストページに表示されます商品ステータスに、「工業直送」を追加します。

システム設定>パラメーター設定

 mtb_status  
商品ステータスの項目名ですので、ここで「工場出荷」という項目を作ります。

  mtb_status_image

で、作った画像を紐付けてやります。

 

 

5

ダウンロード商品は購入後、入金されると

MYページ>賞品詳細のページでのファイルのダウンロードが可能になります。

 

履歴のページ

7-1

 入金前

7-2

入金後

7-3

 

 

なので

入金してもダウンロードにならないようにリンク機能を外し、文言を直送商品にかえます。

 

PC、モバイル、スマホ いずれも

デザイン管理>PC・モバイル・スマホ>ページ詳細設定

のページから

「MYページ/購入履歴詳細」からページ詳細を編集します。

 

PCの例です。

<td>

<!–{if $orderDetail.product_type_id == $smarty.const.PRODUCT_TYPE_DOWNLOAD}–>

<!–{if $orderDetail.is_downloadable}–>

<a target=”_self” href=”<!–{$smarty.const.ROOT_URLPATH}–>mypage/download.php?order_id=<!–{$tpl_arrOrderData.order_id}–>&product_id=<!–{$orderDetail.product_id}–>&product_class_id=<!–{$orderDetail.product_class_id}–>”>ダウンロード</a>

<!–{else}–>

<!–{if $orderDetail.payment_date == “” && $orderDetail.effective == “0″}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–><BR />(入金確認中)

<!–{else}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–><BR />(期限切れ)

<!–{/if}–>

<!–{/if}–>

<!–{else}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–>

<!–{/if}–>

</td>

 

———————–赤を削除してを書き直す。↓—————————–

 

<td>

<!–{if $orderDetail.product_type_id == $smarty.const.PRODUCT_TYPE_DOWNLOAD}–>

<!–{if $orderDetail.is_downloadable}–>

直送商品

<!–{else}–>

<!–{if $orderDetail.payment_date == “” && $orderDetail.effective == “0″}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–><BR />

<!–{else}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–><BR />

<!–{/if}–>

<!–{/if}–>

 

<!–{else}–>

<!–{$arrProductType[$orderDetail.product_type_id]}–>

<!–{/if}–>

</td>

 

 

6

商品マスター登録の際、ダウンロード商品はのちにダウンロードするファイルを登録をしないといけません。

このとき登録しなくても、規格を設定する必要のある商品だと、規格先でさらに一個一個登録しなくてはいけなくなって死ぬほど面倒になります。

直送商品が1、2なら構いませんが、数が多いとこれを一々やるのは面倒です。

 

そこでファイルを必須項目から外してしまいましょう。

 

data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

475行目

必須項目を表す、赤い部分の”EXIST_CHECK”を削除すことにより解除

 

// ダウンロード商品ファイル必須チェック(ダウンロード商品の場合)
if ($arrForm['product_type_id'] == PRODUCT_TYPE_DOWNLOAD) {
$arrErr = array_merge((array)$arrErr, (array)$objDownFile->checkExists());
$objErr->doFunc(array(‘ダウンロード商品ファイル名’, ‘down_filename’), array(‘EXIST_CHECK’));

// ダウンロード商品ファイル必須チェック(ダウンロード商品の場合)
if ($arrForm['product_type_id'] == PRODUCT_TYPE_DOWNLOAD)
$arrErr = array_merge((array)$arrErr, (array)$objDownFile->checkExists());
$objErr->doFunc(array(‘ダウンロード商品ファイル名’, ‘down_filename’));

==========================================

また、どうでもいいのですが、商品登録をする際のフォーム上で必須項目に付いている赤字の「*」をなくしたい場合

赤字の * の部分を削除します。

data>Smarty>templates>admin>products>product.tpl

156行目

<th>ダウンロード商品ファイル名<span class=”attention”> *</span></th>

 

167行目

<th>ダウンロード商品用<br />ファイルアップロード<span> *</span></th>

 

7

ダウンロード商品(工場直送)は会員登録が必要なのでその断りを入れた方が親切かも知れません。

 買い物ログインのページに

変更前
88

変更後

88-2

data>Smarty>templates>default>shopping>index.tpl

で、必要な文言を書き加えて下さい。

 

 

商品説明に

サンプルで最初に登録されている商品の中で、ダウンロード商品の商品詳細メインコメントに

 

「<b>この商品はダウンロード商品です</b><br />自分でチャレンジしてみたい方に。」

と入っています。

 

これを商品登録時に忘れず入力するようにしています。

 

「<b>この商品は工場直送商品です。</b><br />ご注文には会員登録が必要になります。」
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EC−CUBEは一部の商品だけ、支払い方法や配送方法を限定する事が出来なかったので、このバージョンで実装されたダウンロードの機能をルカウノは大変便利です。
以上、変更点が多い野で面倒ですが、少し代えれば「代引不可」だけではなくて
「郵便不可」にしたり「プレゼント」にしたり、と、利用の幅が広がりそうですね。

MYページの「ご注文状況」を表示したくない

88とくに拘る必要はないのかもしれませんが、ご注文後の状況を表示すると言うことは、その都度リアルタイムで、かつ正確に、管理機能から受注管理の処理を入力していかなければならず、確実に出荷までの作業が出来る小規模ショップの場合、手間が増えてしまいかえって煩わしいと感じます。

 

そこでこのご注文状況をいっそ表示しないほうがいいのではないかと思ったら

システム設定>  パラメーター設定で最下段の

MYPAGE_ORDER_STATUS_DISP_FLAG をtrueで表示する

8-1

 

false で 表示しない

8-2

 

スマホ

履歴一覧に「ご注文状況:」と表示されてしまうので、これを手動で削除

data/Smart/template/sphone/mypage/index.tpl

64行目

  <em>ご注文状況:</em> を 削除

mobile

 

data/Smart/mobile/mypage/index.tpl

56行目ぐらいかな・・

 

▽ご注文状況

を、削除

「お客様の声」の無効化

レビューはうまく使えればいいのでしょうが、なかなか管理が大変です。

そこでこれは無効にしてしまいます。

 

1 機能無効

管理機能>システム設定>パラメータ設定

REVIEW_REGIST_MAX = 0

に、すると書き込み機能が無効化されます。書き込みが出来なくなります。

 

 

2 表示修正

機能を無効化してもページ上の表示は消えません。ですからこの表示を手動で削除します。

※ PC・スマホ のみ

 

デザイン管理>PC>ページ詳細設定>商品詳細ページ

以下の部分を削除するかコメントアウトします。

<!–{if false}–>
<!–この商品に対するお客様の声–>
<div id=”customervoice_area”>
<h2><img src=”<!–{$TPL_URLPATH}–>img/title/tit_product_voice.jpg” alt=”この商品に対するお客様の声” /></h2>

<div class=”review_bloc clearfix”>
<p>この商品に対するご感想をぜひお寄せください。</p>
<div class=”review_btn”>
<!–{if count($arrReview) < $smarty.const.REVIEW_REGIST_MAX}–>
<!–★新規コメントを書き込む★–>
<a href=”./review.php”
onclick=”win02(‘./review.php?product_id=<!–{$arrProduct.product_id}–>’,'review’,’600′,’640′); return false;”
onmouseover=”chgImg(‘<!–{$TPL_URLPATH}–>img/button/btn_comment_on.jpg’,'review’);”
onmouseout=”chgImg(‘<!–{$TPL_URLPATH}–>img/button/btn_comment.jpg’,'review’);” target=”_blank”>
<img src=”<!–{$TPL_URLPATH}–>img/button/btn_comment.jpg” alt=”新規コメントを書き込む” name=”review” id=”review” /></a>
<!–{/if}–>
</div>
</div>

<!–{if count($arrReview) > 0}–>
<ul>
<!–{section name=cnt loop=$arrReview}–>
<li>
<p class=”voicetitle”><!–{$arrReview[cnt].title|h}–></p>
<p class=”voicedate”><!–{$arrReview[cnt].create_date|sfDispDBDate:false}–> 投稿者:<!–{if $arrReview[cnt].reviewer_url}–><a href=”<!–{$arrReview[cnt].reviewer_url}–>” target=”_blank”><!–{$arrReview[cnt].reviewer_name|h}–></a><!–{else}–><!–{$arrReview[cnt].reviewer_name|h}–><!–{/if}–> おすすめレベル:<span class=”recommend_level”><!–{assign var=level value=$arrReview[cnt].recommend_level}–><!–{$arrRECOMMEND[$level]|h}–></span></p>
<p class=”voicecomment”><!–{$arrReview[cnt].comment|h|nl2br}–></p>
</li>
<!–{/section}–>
</ul>
<!–{/if}–>
</div>
<!–お客様の声ここまで–>
<!–{/if}–>

 

デザイン管理>PC>ページ詳細設定>商品詳細ページ

<!–{if false}–>
<!–この商品に対するお客様の声–>
<div class=”title_box_sub clearfix”>
<h2>この商品に対するお客様の声</h2>
<span class=”b_expand”><img src=”<!–{$TPL_URLPATH}–>img/button/btn_minus.png” onclick=”fnReviewToggle($(‘#review_bloc_area’), this);” alt=”"></span>
</div>

<div id=”review_bloc_area”>
<div class=”review_bloc clearfix”>
<p>この商品に対するご感想をぜひお寄せください。</p>
<div class=”review_btn”>
<!–{if count($arrReview) < $smarty.const.REVIEW_REGIST_MAX}–>
<!–★新規コメントを書き込む★–>
<a href=”./review.php?product_id=<!–{$arrProduct.product_id}–>” target=”_blank” class=”btn_sub” />新規コメントを書き込む</a>
<!–{/if}–>
</div>
</div>

<!–{if count($arrReview) > 0}–>
<ul>
<!–{section name=cnt loop=$arrReview}–>
<li>
<p class=”voicetitle”><!–{$arrReview[cnt].title|h}–></p>
<p class=”voicedate”><!–{$arrReview[cnt].create_date|sfDispDBDate:false}–> 投稿者:<!–{if $arrReview[cnt].reviewer_url}–><a href=”<!–{$arrReview[cnt].reviewer_url}–>” target=”_blank”><!–{$arrReview[cnt].reviewer_name|h}–></a><!–{else}–><!–{$arrReview[cnt].reviewer_name|h}–><!–{/if}–><br />おすすめレベル:<span class=”recommend_level”><!–{assign var=level value=$arrReview[cnt].recommend_level}–><!–{$arrRECOMMEND[$level]|h}–></span></p>
<p class=”voicecomment”><!–{$arrReview[cnt].comment|h|nl2br}–></p>
</li>
<!–{/section}–>
</ul>
<!–{/if}–>
</div>
<!–{/if}–>
<!–お客様の声ここまで–>

「お届け日の指定」をしないようにする

商品のお届けをカートの段階で確約するのは難しいと思うのです。

そして指定をまもれなければ、怒られます。

これが常識的なご希望ならいいのですが、定形外を希望されているにもかかわらず、日付指定とか無理なご希望の場合もありますが、
商品によって出荷できる時期がバラバラだから一概にこたえられないという場合もあると思います。

そもそも、お客さんにはそれが無理なのかわからないのに、フォームで「いつがいいの?いつでもいいよ」といったスタンスを見せるのが良くないと思うのです。

ですので私はトラブルを避けるためにも、届け日の指定をフォームではうけないようにして、なにかご希望があればメッセージにして頂くようにしています。

 

設定は簡単です。

PC、モバイル、スマホ いずれも以下のページから「お届け日」の部分を削除かコメントアウトすればいいのです。

 

デザイン管理>PC>ページ詳細設定>商品購入>お支払方法・お届け時間等の指定

<!–{/if}–>
<!–★お届け日★–>
<!–{assign var=key value=”deliv_date`$index`”}–>
<span class=”attention”><!–{$arrErr[$key]}–></span>
お届け日:
<!–{if !$arrDelivDate}–>
ご指定頂けません。
<!–{else}–>
<select name=”<!–{$key}–>” id=”<!–{$key}–>” style=”<!–{$arrErr[$key]|sfGetErrorColor}–>”>
<option value=”" selected=”">指定なし</option>
<!–{assign var=shipping_date_value value=$arrForm[$key].value|default:$shippingItem.shipping_date}–>
<!–{html_options options=$arrDelivDate selected=$shipping_date_value}–>
</select>&nbsp;
<!–{/if}–>

デザイン管理>PC>ページ詳細設定>商品購入>ご入力内容のご確認

<tr>
<th scope=”row”>お届け日</th>
<td><!–{$shippingItem.shipping_date|default:”指定なし”|h}–></td>
</tr>

デザイン管理>PC>ページ詳細設定>MYページ>購入履歴詳細

<tr>
<th class=”alignL”>お届け日</th>
<td><!–{$shippingItem.shipping_date|default:’指定なし’|h}–></td>
</tr>

 

デザイン管理>モバイル>ページ詳細設定>商品購入>お支払方法・お届け時間等の指定

<!–★お届け日★–>

<!–{assign var=key value=”deliv_date`$index`”}–>
<font color=”#FF0000″><!–{$arrErr[$key]}–></font>
お届け日:<br>
<!–{if !$arrDelivDate}–>
ご指定頂けません。
<!–{else}–>
<select name=”<!–{$key}–>”>
<option value=”" selected=”">指定なし</option>
<!–{html_options options=$arrDelivDate selected=$arrForm[$key].value}–>
</select>
<!–{/if}–>
<br>

デザイン管理>モバイル>ページ詳細設定>商品購入>ご入力内容のご確認

お届け日:<!–{$shippingItem.shipping_date|default:”指定なし”|h}–><br>

 

デザイン管理>モバイル>ページ詳細設定>MYページ>購入履歴詳細

<!–{if $tpl_arrOrderData.deliv_date != “”}–><br>
お届け日:<!–{$tpl_arrOrderData.deliv_date|h}–>
<!–{/if}–>

デザイン管理>スマホ>ページ詳細設定>商品購入>お支払方法・お届け時間等の指定

<!–★お届け日★–>
<!–{assign var=key value=”deliv_date`$index`”}–>
<span class=”attention”><!–{$arrErr[$key]}–></span>
<!–{if !$arrDelivDate}–>
ご指定頂けません。
<!–{else}–>
<select name=”<!–{$key}–>” style=”<!–{$arrErr[$key]|sfGetErrorColor}–>” class=”boxLong top data-role-none”>
<option value=”" selected=”">お届け日:指定なし</option>
<!–{html_options options=$arrDelivDate selected=$arrForm[$key].value}–>
</select>
<!–{/if}–>

デザイン管理>スマホ>ページ詳細設定>商品購入>ご入力内容のご確認

<li><em>お届け日:</em><!–{$shippingItem.shipping_date|default:”指定なし”|h}–></li>

デザイン管理>PC>ページ詳細設定>MYページ>購入履歴詳細

    <em>お届け日</em>:&nbsp;</strong><!–{$tpl_arrOrderData.deliv_date|h}–>

商品説明のコメントに使えるタグを増やす

商品マスターで登録をする時、【詳細-メインコメント】の部分に赤文字で「タグ許可」と書いて有りますが、まった有効にならずにおかしいとおもっていましたらなんと自分で登録しなくてはいけないらしいです。

thがない???

管理機能>システム設定>マスタデータ管理→mtb_allowed_tag 

で、追加登録します。

ピクチャ 3