あすたま のすべての投稿

ZenCartで通貨表示を¥から円やJPYに切り替える方法

Zen Cartの通貨表示に問題あり!

Zen Cart はデフォルトでは、¥になってるが、コレを半角でかくと「バックスラッシュ」になってしまう場合がある。
ローカライズ – 通貨設定 – のところで、右側シンボルを「円(税込)」とすることで、この¥の問題は解決できる。
「円(税込)」と日本語で入れるのだが、実はそうすると英語表示をした時にも 円(税別)とでてしまい、わけが分からなくなる。
 
しかしじゃあ英語の時には通過はドルにしようとすると、、為替レートの管理、送料の管理がかなり大変になってしまう。
 
例えば、送料を500円としていると、ドルに変換されると500ドルというとんでもない数値になる。なんともマヌケ。

 

最近ではクレジットカードやPaypalを使えば、円決済でも勝手にレート換算されるので、もう世界中を日本円で取引してしまうほうが、断然いいわけだ。

 

英語表示用の新しい通貨を追加する

管理画面の、ローカライズ – 通貨設定 – のところで、新しい通貨を追加。
JPYは既にあるはずなので、YENなどで作っておく(海外用の円)。設定値は1.0000000のままで。
 
右側シンボルを「JPY (inc.VIT)」など、外国向けの表記にしておく。
 

英語表示の円をJPYにしよう

includes/languages/english.phpの42行目。

// if USE_DEFAULT_LANGUAGE_CURRENCY is true, use the following currency, instead of the applications default currency (used when changing language)
define(‘LANGUAGE_CURRENCY’, ‘YEN’);
↑ CURRENCYをUSDからYENに。
 
これで通貨は円のまま、表記だけ英語にすることができる!

Improved Attributes Controllerで、Zen cart オプション値を使いやすくカスタマイズ

「Improved Attributes Controller」というものがある。

ここからダウンロード。
Improved Attributes Controller.zip

これでZenカートのオプション名とオプション値が連動してない状態は改善される。
方法は簡単。adminフォルダに attributes_controller.php を上書きするだけ。
Zen Cartにとって、オプション値、オプション名、オプション編集は、ダウンロード商品や、サイズ、色などを指定する、とても重要な機能にも関わらず、使い勝手が非常に悪い。

※Zen Cart v 1.3.9以降は初めから組み込まれているので、上記のファイルをダウンロードする必要はないが、後述のカスタマイズは同様の方法で可能。

Improved Attributes Controller で、
2007haq1021-01
この状態から、
attributes_controller1
この状態になる。

まあこまでは簡単。他のページでも紹介されているが、これだけでは不十分で、微妙に使い勝手が悪い。元に比べるとはるかに改善されてはいるが。

attributes_controller_sause

ここ。1670行目あたりから始まる、

<!– start modification for improved attributes controller –>

<td class=”attributeBoxContent”>&nbsp;<?php echo TABLE_HEADING_OPT_NAME . ‘<br />’; ?><select name=”options_id” id=”Option Name” onchange=”TCN_reload(this)” size=”<?php echo ($action != ‘delete_attribute’ ? “5” : “1”); ?>” >
<option selected>Option Name</option>
</select>&nbsp;</td>
<td class=”attributeBoxContent”>&nbsp;<?php echo TABLE_HEADING_OPT_VALUE . ‘<br />’; ?><select name=”values_id[]” id=”Option Value” onchange=”TCN_reload(this)” multiple size=”<?php echo ($action != ‘delete_attribute’ ? “5” : “1”); ?>” >
<option selected>Option Value</option>
</select>&nbsp;</td>
</tr></table></td></tr>
</table>

この赤文字で書いた「5」の部分を 10 でも 20 でも、好きな数字に変える事で、
attributes_controller1
これが、

attributes_controller_2
こうなる。仮に 10 にしてみた。

これで作業効率は10倍以上と言っても過言ではないぐらい上がる。

EC-CUBE 2.11.x – 3.0系で商品詳細サブ画像を3列表示に

商品詳細サブ画像を3列表示

元々、EC CUBEの商品詳細ページは、サブ画像とかサブコメントは縦に一列に並ぶことになる。
ちょっと野暮ったいので、3列になるようにしてみた。
eccube-3retsu
こんな感じ。

 

phpファイルのカスタマイズ方法

products/detail.phpの部分。管理画面のデザイン管理から行くと、「商品詳細ページ」のページ詳細編集から。
 
「詳細」と「お客様の声」の間の部分。

—————————————————————

<!–▼サブコメントここから–>
<!–{section name=cnt loop=$smarty.const.PRODUCTSUB_MAX}–>
<!–{assign var=key value=”sub_title`$smarty.section.cnt.index+1`”}–>
<div class=”productsubarea”><!–{if $arrProduct[$key] != “”}–>
<h3><!–★サブタイトル★–><!–{$arrProduct[$key]|h}–></h3>
<!–{/if}–>
<!–{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}–>

<!–{if $arrProduct[$ckey] != “”}–>
<div class=”productsubtext”><!–★サブテキスト★–><!–{$arrProduct[$ckey]|nl2br_html}–></div>
<!–{/if}–>
<div class=”productsubphotoimg”><!–{if $arrProduct[$lkey]|strlen >= 1}–>
<a class=”expansion” href=”&lt;!–{$smarty.const.IMAGE_SAVE_URLPATH}–&gt;&lt;!–{$arrProduct[$lkey]|h}–&gt;” target=”_blank”>
<!–{/if}–>
<img src=”&lt;!–{$arrFile[$key].filepath}–&gt;” alt=”&lt;!–{$arrProduct.name|h}–&gt;” width=”&lt;!–{$arrFile[$key].width}–&gt;” height=”&lt;!–{$arrFile[$key].height}–&gt;” /></a><!–{if $arrProduct[$lkey]|strlen >= 1}–>
<span class=”mini”>

<a class=”expansion” href=”&lt;!–{$smarty.const.IMAGE_SAVE_URLPATH}–&gt;&lt;!–{$arrProduct[$lkey]|h}–&gt;” target=”_blank”>
画像を拡大する</a>
</span>
<!–{/if}–></div>
<!–{else}–>
<p class=”subtext”><!–★サブテキスト★–><!–{$arrProduct[$ckey]|nl2br_html}–></p>
<!–{/if}–>
<!–▲サブ画像–>

</div>
<!–{ if $smarty.section.cnt.iteration is div by 3 }–>
<br clear=”all” />
<!–{/if}–>

<!–{/section}–>
<!–▲サブコメント–>

—————————————————————

簡単に言うと、詳細画面の画像を横に並べ、カウントが3になったら改行を入れるという処理をする。

CSSに以下の分を追加。お好みで適当に調節して。
—————————————–

div.productsubarea {
width:30%;
float:left;
height:290px;
margin-right:3%;
}

div.productsubphotoimg {

}

div.productsubtext {
height:3em;
}

—————————————-

単純にコピペすれば大丈夫なはず。