バージョン選択

フォーラム

メニュー

オンライン状況

45 人のユーザが現在オンラインです。 (30 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 45
もっと...

サイト内検索

質問 > 管理機能 > 基本情報管理のメール設定について(テンプレート)

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2007/7/2 17:47
対応状況: −−−
基本情報管理のメール設定について(テンプレート)
------仕様環境-----------------------------
EC-CUBEバージョン 1.4.1-beta
PHPバージョン PHP 4.4.7
DBバージョン MySQL 4.1.22-standard
-------------------------------------------

管理画面の「基本情報管理」⇒「メール設定」にて
テンプレートの新規作成をすると以下のような不具合が生じます。

・「メール形式」が携帯しかない。
・そのまま内容を入力して登録すると、新規に追加されるが、
テンプレート一覧では形式が「パソコン」に変わっている。
・新規で追加したテンプレートが(固定)となって削除できない。
・「編集」のテキストリンクをクリックすると、デフォルトの「受注完了テンプレート(PC用)」のテンプレートの中身の編集画面となる(http://ドメイン名/admin/basis/mail.php?mode=edit&template_id=0)


同様の問題が発生している方はいらっしゃいませんでしょうか。また、何か心当たりのある方がいらっしゃいましたら、知恵をお貸しください。よろしくお願い致します。
nakanishi
投稿日時: 2007/7/2 19:45
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: 基本情報管理のメール設定について(テンプレート)
ゲスト様、ご投稿ありがとうございます。
株式会社ロックオン技術開発部の中西と申します。

ご投稿いただいた不具合に関して調査し、原因が判明したので
ご報告させていただきます。

ご使用いただいております1.4.1-betaでは
メールのテンプレート管理機能がこれまでのものから変更されております。
このためにデータベースの構造が1.3系から変更されています。
データベースの初期化を行わずにEC-CUBEの1.4.1-betaをインストールされた場合に不整合が発生し、ご指摘いただいた不具合が発生するようです。

対策としましてはhtml/install/create_table_mysql.sqlの
dtb_mailtemplateテーブルを作成するSQLにbody,send_type,template_nameカラムを加える処理を追加して
以下のようにしていただくことで解消されます。


CREATE TABLE dtb_mailtemplate (
    template_id int NOT NULL,
    subject text,
    header text,
    footer text,
    body   text,
    send_type int,
    template_name text,
    creator_id int NOT NULL,
    del_flg smallint NOT NULL DEFAULT 0,
    create_date datetime NOT NULL ,
    update_date datetime NOT NULL
)


また、すでに運用されている場合には困難かもしれませんが
EC-CUBEの再インストールを行い、データベースの初期化を
行っていただいた場合も同様の修正が行えます。
この場合は商品の情報や会員様の情報なども初期化されてしまいますのでご注意ください。

今回問題となった互換性に関する対応は今後の課題として検討させていただきます。

最後になりましたが、ご投稿ありがとうございました。
これからもEC-CUBEをよろしくお願いいたします。
ゲスト
投稿日時: 2007/7/2 23:03
対応状況: −−−
Re: 基本情報管理のメール設定について(テンプレート)
株式会社ロックオン技術開発部
中西様

このトピックを作成したhomanと申します。
先ほどはゲストで失礼いたしました。
また、素早い対応ありがとうございます。
中西様のコメントを参考にさせていただきながらチェックを行いました。


実は、1.4.1-betaはアップデートではなく1からインストールしましたので、データベースは初期化されている物と存じますが如何でしょうか。確認しましたところ、初めからbody, send_type, template_nameカラムは存在しているみたいです。


スクリプトを眺めていて不明だったのが、template_idを /html/admin/basis/template_input.php 等で $_POST['template_id']として受け渡しされていますが、この値がうまく引き継げていないように思います。

新規作成のボタンを押すと、メール形式に「携帯」しか選べない状態になっていることから、template_idに「1」がどこかで挿入されているのでは?と考えています。そして、登録のタイミングで「0」(template_idのカラムのデフォルト値の0等)が挿入されているのかもしれません。


データベースから直接覗くと、問題のあったテンプレートデータのtemplate_idのカラムがすべて「0」として登録されていました。そこを直接1以降の数(2〜)に登録しなおしてやると、管理画面から削除や編集が可能になりました。


ただ、やはり新規で登録するとスレッドの最初の書き込みの不具合が生じてしまいます。管理画面のデザインやコアファイルはカスタマイズしていないのですが、何か原因が考えられますでしょうか。
小さなことでも構いませんので、ヒントをいただけたら幸いです。
nakanishi
投稿日時: 2007/7/3 14:48
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: 基本情報管理のメール設定について(テンプレート)
homan様、ご投稿いただき、ありがとうございます。
株式会社ロックオン技術開発部
中西です。

ご指摘いただいた点を確認させていただいたところ
依然として新規投稿時での不具合が見られました。
調査したところ、これはデータベース側で連番を振る
処理が抜けているために発生するようです。

そこで以下のように修正をおこないました。

1.データベースのフィールドの型を変える
データベースでtemplate_idに連番を振らせるように指定します。

MySQLならば
data/install/sql/create_table_mysql.sqlの
template_idフィールド作成部分を
template_id int auto_increment primary key NOT NULL UNIQUE

PostgreSQLならば
data/install/sql/create_table_pgsql.sqlの
template_idフィールド作成部分を
template_id SERIAL NOT NULL

既にEC-CUBEがインストールされた環境では直接SQLクエリを
入力してフィールドの型を変更してください。


2.テンプレートリストに表示される
template_idはデータベースの処理によって1から始まるので今は0からリスト表示するようになっている
メールテンプレートをリスト表示する部分を変更します。


html/admin/basis/template.tplの65行目付近の
<!--{if $list_data[data].template_id > 1}-->
を
<!--{if $list_data[data].template_id > 2}-->
に変更します。


3.新規作成時にラジオボタンの表示がおかしくなっている部分の修正
固定のメールテンプレートにだけ適用したい処理が新規作成メールテンプレートに
適用されていたので条件文などを修正します。

<!--{if $arrForm.template_id > 1}-->
<!--{html_radios_ex name="send_type" options=$arrSendType separator="&nbsp;" selected=$arrForm[$key]}-->
<!--{else}-->
	<!--{if $arrForm.template_id=='0'}-->
	<input type="radio" name="send_type" value="0" id="send_type_0" checked="checked" /><label for="send_type_0">パソコン</label>&nbsp;
	<!--{else}-->
	<input type="radio" name="send_type" value="1" id="send_type_1" checked="checked" /><label for="send_type_1">携帯</label>&nbsp;
	<!--{/if}-->
<!--{/if}-->

の部分を以下のように変更します。

<!--{if $arrForm.template_id == 1}-->
<input type="radio" name="send_type" value="0" id="send_type_0" checked="checked" /><label for="send_type_0">パソコン</label>&nbsp;
<!--{elseif $arrForm.template_id == 2}-->
<input type="radio" name="send_type" value="1" id="send_type_1" checked="checked" /><label for="send_type_1">携帯</label>&nbsp;
<!--{else}-->
<!--{html_radios_ex name="send_type" options=$arrSendType separator="&nbsp;" selected=$arrForm[$key]}-->
<!--{/if}-->


4.初期に書き込むデータを変更する
インストール時に初期データを書き込むがデータベース側で自動的に
連番を振るようになっているのでエラーが出る。
そこでインストール時にはtemplate_idのフィールドは空にします。


data/install/sql/insert.sqlのdtb_mailtemplateにデータを挿入する部分
insert into dtb_mailtemplateの行のvalues('0',...(省略)をvalues('',...にする。

そのすぐ下をもう一か所修正します。
insert into dtb_mailtemplateの行のvalues('1',...(省略)をvalues('',...にする。


非常に長くなりましたが、以上のように修正していただくことでメールテンプレートの登録が
正常に登録できるようになります。

この修正は次期リリース時に反映させていただく予定です。

何度もご迷惑をかけたうえにお手間をとらせてしまい、大変申し訳ありません。

詳細な不具合の報告ありがとうございました。
これからもEC-CUBEをよろしくお願いいたします。
homan
投稿日時: 2007/7/3 17:36
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: 基本情報管理のメール設定について(テンプレート)
株式会社ロックオン技術開発部
中西様

対応して頂き、ありがとうございます!
上記の修正を行い、追加・修正・削除が正常に行えるようになりました。

閲覧されている他のユーザーさんの為に、少し補足させて下さい。
書き込みさせていただいた環境は EC-CUBEバージョン1.4.1-betaでしたが、

引用:

ご使用いただいております1.4.1-betaでは
メールのテンプレート管理機能がこれまでのものから変更されております。
このためにデータベースの構造が1.3系から変更されています。


と中西様がおっしゃるの理由から、1.4.0a-betaでも同様の問題が発生します。

また、修正2は、「html/admin/basis/template.tpl」ではなくて「data/admin/basis/template.tpl」でした。

修正3は「data/admin/basis/mail.tpl」の109行目辺りです。

修正4は「data/install/sql/insert.sql」ではなくて、「html/install/sql/insert_data.sql」のだと思います。


株式会社ロックオン技術開発部様の対応の早さに驚いています
少しでもEC-CUBEの成長の為に役に立てるよう、
私達もフィードバックさせていただきますので、
これからも宜しくお願い致します!
あんまり頑張りすぎて夏バテになりませんように


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

nakanishi
投稿日時: 2007/7/3 21:55
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: 基本情報管理のメール設定について(テンプレート)
homan様、ご投稿ありがとうございます。

dataとhtmlが入れ違いになっていました。
補足していただいてありがとうございます。

メールテンプレート管理機能のデータベースの
互換性の問題に関しては今後の課題として検討させていただきます。

>株式会社ロックオン技術開発部様の対応の早さに驚いています
ありがとうございます。
まだまだ小さい会社ゆえに全てのユーザー様のお声に対応するのは
なかなか難しいですが、できる限り対応していきたいと考えております。
homan様のような方にご協力していただけますと
株式会社ロックオンとしましても非常にありがたいです。

今後もEC-CUBEをたくさんのユーザー様に満足していただけるもの
にするべく一生懸命努力していきますので
これからも何卒よろしくお願いいたします。

>あんまり頑張りすぎて夏バテになりませんように
ありがとうございます!
気をつけます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,688名です
総投稿数は109,933件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.