EC-CUBE2.13.5をレスポンシブにしようとしたらクーポンプラグインでエラーが出た

タイトル長い…

うちのわんこも長い…
最近ふすまと冷え冷え大理石の間に頭をぽっこり入れて寝るのがブームらしい

 

諸事情によりEC-CUBE3ではなくEC-CUBE2.135をレスポンシブにするにあたり、テンプレートを変更してみたら、クーポンプラグインの表示がエラーをはじきまくり

仕方がないのでエラー個所をつぶしていくことに

どうやら、クーポンが表示する個所を指定するのに、プラグイン側が、「このidのこのclassのこのタグのここんとこ!」的な指定をしているため、そのタグがないよ、というエラー

 

その前に、このクーポンプラグイン、【オーナーズストア】→【プラグイン管理】→【プラグイン管理】で、インストールして「有効」にしただけでは使えない
「使い方」とかどっかに書いてあったのかもしれないけど、見ていないのエラーログ見たら、以下の3ファイルのパーミッションを「644」に変えろって

・html/管理画面ディレクトリ/contents/plg_Coupon_coupon.php
・html/管理画面ディレクトリ/contents/plg_Coupon_product_select.php
・html/管理画面ディレクトリ/contents/plg_Coupon_coupon_input.php

 

次に、プラグインの
/data/downloads/plugin/Coupon/Coupon.php の、338行目あたりを見ると、ご親切に「カスタマイズしてある場合は要注意」と書いてある(ありがとうございます)個所を修正

 

・shopping/payment.tpl
・shopping/confirm.tpl
・mypage/history.tpl

↑だけをさわる【簡単バージョン】か、

・shopping/payment.tpl
・shopping/confirm.tpl
・mypage/history.tpl
・/data/downloads/plugin/Coupon/Coupon.php
・/data/Smarty/templates/使用テンプレート/shopping/plg_Coupon_payment.tpl
・/data/Smarty/templates/使用テンプレート/shopping/plg_Coupon_confirm.tpl
・/data/Smarty/templates/使用テンプレート/mypage/plg_Coupon_history.tpl

↑を変更する【推奨バージョン】か

 

【簡単バージョン】
空タグが多くなるので微妙だけど楽

「shopping/confirm.tpl」は、
#undercolumn #undercolumn_shopping の下に .delivname の table を作って、tr を 5つ作っておいたらOK
つまり、↓こんな感じでしょうか

「値引き」の記述
<table border="0" cellspacing="0" cellpadding="0" class="delivname">
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
</table>
「送料」の記述

 

「mypage/history.tpl」は、
#mycontents_area .mycondition_area の下に .delivname の table を作って、tr を 6つ作っておいたらOK
つまり、↓こんな感じでしょうか

「手数料」の記述
<table border="0" cellspacing="0" cellpadding="0" class="delivname">
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
<tr style="display:none;"><td>&nbsp;</td></tr>
</table>
「合計」の記述

 

お支払方法・お届け時間等の設定(shopping/payment.tpl)は表示されているのでcssで調整でいけるかな

 

【推奨バージョン】
やっぱりやるからには美しいタグで

まずは「/data/downloads/plugin/Coupon/Coupon.php」
クーポン関係の挿入個所を、必要なタグは、 .com_coupon の前に挿入してね!と変更

//クーポン利用確認画面(購入確認画面)
if (strpos($filename, 'shopping/confirm.tpl') !== false) {
     //indexの指定はカスタマイズしてある場合は要注意(デフォルトのec-cubeに対応)
     $objTransform->select('.com_coupon')->insertBefore(file_get_contents($template_dir . 'default/shopping/plg_Coupon_confirm.tpl'));
}
//購入履歴画面
if (strpos($filename, 'mypage/history.tpl') !== false) {
//indexの指定はカスタマイズしてある場合は要注意(デフォルトのec-cubeに対応)
     $objTransform->select('.com_coupon')->insertBefore(file_get_contents($template_dir . 'default/mypage/plg_Coupon_history.tpl'));
}

※クーポン利用画面がcssの変更でいけそうなのでさわらない

 

「shopping/confirm.tpl」は、
「送料」の上あたりにクーポンの記述を入れたいので変更

変更前
<small>送料:</small><strong><!--{$arrForm.deliv_fee|number_format}-->円</strong><br />
↓
変更後
<small class="com_coupon">送料:</small><strong><!--{$arrForm.deliv_fee|number_format}-->円</strong><br />

 

「mypage/history.tpl」は、
「合計」の上あたりにクーポンの記述を入れたいので変更

変更前
<div><small>合計:</small><span class="price text-bold"><!--{$tpl_arrOrderData.payment_total|number_format}-->円</span></div>
↓
変更後
<div class="com_coupon"><small>合計:</small><span class="price text-bold"><!--{$tpl_arrOrderData.payment_total|number_format}-->円</span></div>

 

「/data/Smarty/templates/使用テンプレート/shopping/plg_Coupon_confirm.tpl」は、以下に差し替え

<!--{*2011.11.27 SEED_KN クーポン機能*}-->
<!--{if $arrForm.coupon_check != "" && $arrForm.coupon_check != "0" }-->
<small>クーポン利用:</small><strong>-<!--{$arrForm.coupon_discount_price|number_format}-->円<!--{*(<!--{<!--{$arrForm.coupon_discount_percent|number_format}-->}-->%)*}--></strong><br />
<!--{/if}-->
<!--{*2011.11.27 SEED_KN クーポン機能*}-->

 

「/data/Smarty/templates/使用テンプレート/mypage/plg_Coupon_history.tpl」は、以下に差し替え

<!--{*2013.03.04 SEED クーポン機能*}-->
<div><small>クーポン利用:</small><!--{assign var=key value="coupon_discount_price"}--><!--{$tpl_arrOrderData[$key]*-1|number_format|h}-->円</div>
<!--{*2013.03.04 SEED クーポン機能*}-->

 

これで妙な空タグもなくOK