月: 2008年11月

【EC-CUBE】メルマガの配信予約機能を使う(cron)

メルマガはデフォルトでは、配信設定したときに配信される。

これを、CRONを使って予約配信に変更し、30分ごとにメール配信予約ができるようにする。(*利用しているサーバがCRONによるJOBの予約に対応していること。)

その1)サーバのコンパネなどで下記コマンドのCRON設定を行う。

0,30 * * * * cd /(ECCUBEへのパス=/data/install.phpで確認すると良い)/html/admin/mail/; /usr/local/php/bin/php -f /(ECCUBEへのパス=/data/install.phpで確認すると良い)/html/admin/mail/sendmail.php 2>&1 > /dev/null

ちなみにcPanelの場合は、CRON設定画面でAdvanced(Unix Style)をクリック→
1つ目のフォーム:*/30
2つ目のフォーム:*
3つ目のフォーム:*
4つ目のフォーム:*
5つ目のフォーム**
6つ目のフォーム*cd /(ECCUBEへのパス=/data/install.phpで確認すると良い)/html/admin/mail/; /usr/local/php/bin/php -f /(ECCUBEへのパス=/data/install.phpで確認すると良い)/html/admin/mail/sendmail.php 2>&1 > /dev/null
を入力。

/usr/local/php/bin/phpは、/usr/bin/phpの場合もあるので、サーバのパスを確認すること。
Add Cronjobボタンをクリックして登録。上のフォームには、CRONが実行されたときに実行結果を送りたい管理者のメアドを入力しておく。

その2)EC-CUBE設定を行う。

管理画面→システム設定→パラメータ設定で、
[MELMAGA_BATCH_MODE]のパラメータを「false」から「true」へ変更。

管理画面→メルマガ管理でメールの配信を設定していくと、途中で予約配信の時間指定ができるようになっているので、30分単位で時間を入れて予約。毎時0分/30分に配信予約が入っているかの確認がCRONで送られてくる。

携帯メールの場合など設定を間違って夜中にお客さんのところにメールが届いた、といったミスが無いように、最初によくチェックしておくこと。

あとは、メルマガ配信予約で日時指定のときに、日につきの数値が入ってしまうバグがrので、/data/class/pages/admin/mail/LC_Page_Admin_Mail.phpの
292行目あたり「$this->arrNowDate[‘day’] = isset($_POST[‘send_day’]) ? $_POST[‘send_month’] : “”;」となってしまっているのを、「$this->arrNowDate[‘day’] = isset($_POST[‘send_day’]) ? $_POST[send_day] : “”;」と修正する。

【EC-CUBE】商品一覧ページの商品の並べ替え降順を追加する

一覧ページの並べ替えリンクで、価格順に昇順だけでなく降順を追加する。
新着順も同様に変更可能。

その1)/data/Smarty/templates/default/list.tplに降順並べ替え用のリンクを追加

L69あたりから(ver.2.3.2例)のソースに価格降順用のソースを追記。「価格順」のソースをコピペして編集すればOK。

 <!–件数ここから–>
  <!–{if $tpl_linemax > 0}–>
  <ul class=”pagenumberarea”>
    <li class=”left”><span class=”pagenumber”><!–{$tpl_linemax}–></span>件の商品がございます。</li>
    <li class=”center”><!–{$tpl_strnavi}–></li>
    <li class=”right”><!–{if $orderby != ‘price’}–>
        <a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘price’)”>価格順</a>
    <!–{else}–>
        <strong>価格順</strong>
    <!–{/if}–>&nbsp;
  <!–{if $orderby != ‘price2’}–>
        <a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘price2’)”>価格降順</a>
    <!–{else}–>
        <strong>価格降順</strong>
    <!–{/if}–>&nbsp;
    <!–{if $orderby != “date”}–>
        <a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘date’)”>新着順</a>
    <!–{else}–>
        <strong>新着順</strong>
    <!–{/if}–>
    </li>
  </ul><!–件数ここまで–>
  <!–{else}–>
    <!–{include file=”frontparts/search_zero.tpl”}–>
  <!–{/if}–>

その2)/data/class/pages/products/LC_Page_Products_List.phpに価格降順用のソースを追記。

こちらも同様に、上の「価格順」のソースをコピペして編集すればOK。

L393あたりから

        //価格順
        case ‘price’:
            $col = “DISTINCT price02_min, product_id, product_code_min, product_code_max,”
                . ” name, comment1, comment2, comment3,”
                . ” main_list_comment, main_image, main_list_image,”
                . ” price01_min, price01_max, price02_max,”
                . ” stock_min, stock_max, stock_unlimited_min, stock_unlimited_max,”
                . ” point_rate, sale_limit, sale_unlimited, deliv_date_id, deliv_fee,”
                . ” status, product_flag, create_date, del_flg”;
            $from = “vw_products_allclass AS T1”;
            $order = “price02_min, product_id”;
            break;

というソースがあるので、その下にコピーして下記のように編集。

        //価格順
        case ‘price2’:
            $col = “DISTINCT price02_min, product_id, product_code_min, product_code_max,”
                . ” name, comment1, comment2, comment3,”
                . ” main_list_comment, main_image, main_list_image,”
                . ” price01_min, price01_max, price02_max,”
                . ” stock_min, stock_max, stock_unlimited_min, stock_unlimited_max,”
                . ” point_rate, sale_limit, sale_unlimited, deliv_date_id, deliv_fee,”
                . ” status, product_flag, create_date, del_flg”;
            $from = “vw_products_allclass AS T1”;
            $order = “price02_min DESC, product_id”;
            break;

これで、追加OK。新着順を古いものから並べたいときは、同様の手順でその下の「新着順」のコードをコピペして、一番下の「$order = “create_date DESC, product_id”;」を「$order = “create_date, product_id”;」(DESCを削除)とすればよい。

携帯電話各キャリアのSSL対応状況について

調べたことを覚書。

SSL証明書がだんだん安価でも販売されるようになってきたが、携帯電話でSSLを導入しようと思うと、現状PCサイトほど選択肢は多くない。携帯電話に導入されている証明書の認証局データの数がまだまだ少ないから。最近の携帯熱で対応状況は新機種から順次のびてはいるけど、携帯サイトをリリースする際にSSLが必要なのであれば、どのキャリアでどこまで対応が必要かによって、使えるSSL証明書が限られてくる。

verisignであれば、ほぼ100%OK。グローバルサインなんかでも上位プランであれば、対応も多い模様。ジオトラストのクイックSSLプレミアムも古い携帯以外大体は網羅している。ルートCAは「Equifax Secure Certificate Authority」。

それ以外は予算と対応範囲のバランスで選択することになると思う。

安価なところで言うと、RrapidSSLは、ルートCAが「Equifax Secure eBusiness CA-1」となるので、au系でほぼ表示もされない。alphaSSLは「Global Sign Root CA」なので、最近の携帯でならOK(※対応状況参考alphaSSLサイトにて)。国内でのcomodoのルートCAは「Entrust Secure Server CA」なので、au、softbankはほとんど全部OKだけど、docomoが全くNG。(※最近高めのものは、docomoで対応できたとのプレスリリースはあったけど)だけど、海外のリセラーでpositiveSSLを購入するならルートCAはAddTrustExternalCAとなる。これは、auやdocomoなら最新機種のみ、ソフトバンクはNG。

予算的に落として、ある程度の携帯をカバーするという視点でいくと、「Equifax Secure Certificate Authority」の入っているQUICKSSLpremiumの安いところを探すのが無難。
↓こことか。($79/年)

 https://www.servertastic.com/order/quickssl-premium/

あとは、最新携帯だけ狙って、ALPHASSL。
↓こことか。($39.95/年)

http://www.fxhstore.com/index.php?main_page=index&cPath=88

↓こことか。(€33/年)

http://www.ultimahosts.eu/products/ssl/alphassl/

割り切ってPCだけOKならいいなら、RAPIDSSLやCOMODOなんかが安くていいかも。
↓RAPIDSSLなら、こことか。($12.95/年)

https://www.servertastic.com/order/rapidssl/

↓こことか。($14.88)

http://www.namecheap.com/learn/other-services/ssl-certificates.asp

↓COMODOのpositiveSSL($9.95)

http://www.namecheap.com/learn/other-services/cheap-comodo-ssl-certificates.asp
(※このサイトでは、期間限定で、ドメイン取得とか移転をすると、COMODOのpositiveSSLが初年度無料になるキャンペンをしている。めっちゃお特。)

rapidSSLのルートはNTTとかソフトバンク、auの最近の機種ではOKだから、もう少し待って、ユーザーの携帯が新しいものに入れ替わっていけば(1,2年?)問題なくお得なCAになるかも。
現状は、携帯対応をどう考えるかかなぁ。。。

参考サイト

安いサービス

各キャリアのSSL対応状況
——————————

——————————

予算もあるけど、携帯どうするかとか、サーバだけでなく、SSLでもまよわないといかんとは・・・