EC-CUBE メールテンプレート設定 ヘッダー・フッダーがなぜか入力されていませんエラーで必須に

PHP

EC-CUBEのカスタマイズのお仕事がありまして、そのうち「問い合わせフォームの種類を増やす」を作業してたのでちょっとメモです。

来店予約フォームとかカタログ請求フォームとかとか・・
そんなの一つのフォーム内で問い合わせ種類を選択にしておくとかで終わらせてしまえば・・なんて愚痴は置いといてお仕事なのでちゃんとやります。

今回設置したEC-CUBEのバージョンは現時点での最新版2.12.4(最終更新日:2013年5月22日)です。

まずは問い合わせフォームを増やすのに以下サイトを参考にしました。

[EC-CUBE 2.11.2] お問い合わせフォームを追加したい
http://ec-cube.nakweb.com/blog/675.html

補足
dtb_pagelayoutの追加ですがサンクスページ用も追加をします。

[EC-CUBE 2.11.2] メールテンプレートを追加したい
http://ec-cube.nakweb.com/blog/634.html

ここまではおk
(・・・けっこう面倒だった;)

で、返信メールの設定をしようと思ったら
なぜかこんなことに。

EC CUBE 管理

あれれ。
メールのヘッダーとフッター項目は必須の※がないのになぜか未入力エラー。

不思議なことに今回新たに設置したメールテンプレートじゃなくて元々あったやつも同じように必須エラー。

どっかで設置のやり方を間違えたかといろいろ調べたら・・

基本情報管理>メール設定 ヘッダー・フッターを必須入力でなくする
http://svn.ec-cube.net/open_trac/ticket/2041

はい。バグでした。

とりあえずの解決方法は
\data\class\pages\admin\basis\LC_Page_Admin_Basis_Mail.php
LC_Page_Admin_Basis_Mail

function lfInitParam($mode, &$objFormParam) {
    switch ($mode) {
        case 'regist':
            $objFormParam->addParam('メールタイトル', 'subject', MTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK'));
            $objFormParam->addParam('ヘッダー', 'header', LTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK'));
            $objFormParam->addParam('フッター', 'footer', LTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK'));
            $objFormParam->addParam('テンプレート', 'template_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
        case 'id_set':
            $objFormParam->addParam('テンプレート', 'template_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
            break;
        default:
            break;
    }
}

154,155行目のarray()の中にある'EXIST_CHECK'を抜けばいいようです。

コメント

タイトルとURLをコピーしました