バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > フロント機能 > 注文時にファイル添付をできるようにしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuh
投稿日時: 2015/2/17 20:26
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 注文時にファイル添付をできるようにしたい
どのようにカスタマイズを行ってその結果どのような動作でうまく動かないかを書かないと答えようがないと思います。

あと、最低限PHPがわからないと組みようがないと思います。
mom
投稿日時: 2015/2/17 14:45
対応状況: −−−
半人前
登録日: 2015/2/17
居住地: 京都
投稿: 16
Re: 注文時にファイル添付をできるようにしたい
以前からのやり取りを参考にしてフォームに画像アップロード機能を付属しようとしています。

mizuvanさんと同じくjavaが動作しなかったのですが、
http://colo-ri.jp/develop/2014/01/ec-cube-how-to-upload-image.html
ここを参考にして、

<form name="form1" id="form1" method="post" enctype="multipart/form-data" action="?">

この下に

<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<input type="hidden" name="mode" value="edit" />
<input type="hidden" name="image_key" value="" />
<input type="hidden" name="image_key" value="" />


index.tplにこちらの文を追加してあげたらjava scriptは動作しました。
ただ、データの受け渡しがされません。
当方PHPは素人でして。。どなたか、ご存知の方いらしたら是非共ご教授頂きたいです。よろしくお願いします。
mizuvan
投稿日時: 2015/2/6 13:12
対応状況: −−−
長老
登録日: 2013/3/26
居住地:
投稿: 253
Re: 注文時にファイル添付をできるようにしたい
yuh様、ありがとうございます!

confirmに下記のものが追記してなかったので追記しました。
        <input type="hidden" name="sample_image_realpath" value="<!--{$arrFile.sample_image.real_filepath}-->" />
        <input type="hidden" name="sample_image_urlpath" value="<!--{$arrFile.sample_image.filepath}-->" />


しかし、添付ファイル選択後に確認ページへ遷移せずでした・・・


----------------

yuh
投稿日時: 2015/2/5 15:10
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 注文時にファイル添付をできるようにしたい
若干ややこしいんですが、ECCUBEのファイルアップロードを使用すると画像のファイル名が取得できます。
そのファイル名を元にhiddenで値を受け取って処理する必要があります。

参考は管理画面の商品登録部分です。

confirmを用意しないと、途中で値の受け渡しが止まってしまうのでうまく動かないと思います。
もしくはconrimを使わずに直接送るかですね。
mizuvan
投稿日時: 2015/2/5 11:35
対応状況: −−−
長老
登録日: 2013/3/26
居住地:
投稿: 253
Re: 注文時にファイル添付をできるようにしたい
yuh様、いつもありがとうございます!

confirmは用意していませんでした。参考にしたページにはそのことが詳しく載っていませんでしたので・・・

hiddenで渡すという点では、参考サイト「■フォームのカスタマイズ」でテンプレートにて記述がありましたので大丈夫だと思います。

ただ、問題が添付するファイルを選択後にアップロードするような機能がついていますが、アップロードが出来ないのです

        <span class="entry-error"><!--{$arrErr.sample_image}--></span>
        <!--{if $arrFile.sample_image.filepath != ""}-->
            <img src="<!--{$arrFile.sample_image.filepath}-->" alt="">
            <a href="" onclick="eccube.setModeAndSubmit('delete_image', 'image_key', 'sample_image'); return false;">
                [画像の取り消し]
            </a>
        <!--{else}-->
            <input type="file" name="sample_image" style="<!--{$arrErr.sample_image|sfGetErrorColor}-->" />
            <a class="btn-normal" href="java script:;" name="btn" onclick="eccube.setModeAndSubmit('upload_image', 'image_key', 'sample_image'); return false;">
                アップロード
            </a>
        <p class="mini entry-error">画像を添付出来ます。(jpg/gif/png)</p>
 <!--{/if}-->

上記のようにテンプレートにはコピペしましたが、リンク先がjavascriptになっていて何の反応もしません。

ヘッダに下記の記述があるので大丈夫かなと思っていたのですが
<script type="text/javascript" src="/shopping_ec/js/eccube.js"></script><script type="text/javascript" src="/shopping_ec/js/eccube.legacy.js"></script>



----------------

yuh
投稿日時: 2015/2/4 0:53
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 注文時にファイル添付をできるようにしたい
data/Smarty/templates/default/user_data/attach_mail_confirm.tplの方は用意しましたか?

あと、入力フォーム(ファイルアップロード)→確認画面→完了(メール送信)のページ遷移の場合、
入力フォームでアップロードしたファイル名を取得して確認画面でhiddenで渡す必要が出てくると思います。
そこらへんの流れをいったん確認してみてください
mizuvan
投稿日時: 2015/2/3 18:31
対応状況: −−−
長老
登録日: 2013/3/26
居住地:
投稿: 253
Re: 注文時にファイル添付をできるようにしたい
その後、入力内容が表示されていなかったのは

IfInitParam()に流用元の内容を書いていませんでした為、表示が消えてしまったようでした。
再度、追記したところ入力した内容なども消えません

ただ、添付ファイルの内容は消えてしまっています。IfInitFile()で指定したファイル形式とサイズ内なら大丈夫だと思っていましたが

あとは添付ファイル無しの場合でも入力確認画面に遷移しませんでした。

参考にしたページに書かれていた通りにしたはずなのですが・・
    /**
     * フォームの入力内容をチェックします。
     *
     */

    public function lfCheckError(&$objFormParam)
    {
        // 入力データを渡す。
        $arrForm =  $objFormParam->getHashArray();
        $objErr = new SC_CheckError_Ex($arrForm);
        $objErr->arrErr = $objFormParam->checkError();
        $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', 'email02') ,array('EQUAL_CHECK'));

        return $objErr->arrErr;
    }
    /**
     * メール送信処理。
     *
     */

		
    public function lfSendMail(&$objPage)
    {
        $CONF = SC_Helper_DB_Ex::sfGetBasisData();
        $objPage->tpl_shopname = $CONF['shop_name'];
        $objPage->tpl_infoemail = $CONF['email02'];
        $attachment = $objPage->arrForm['sample_image_realpath']['value'];
        $helperMail = new SC_Helper_Mail_Ex();
        $helperMail->setPage($this);
        $helperMail->sfSendTemplateMail(
            $objPage->arrForm['email']['value'],            // to
            $objPage->arrForm['name01']['value'] .' 様',    // to_name
            6,                                              // template_id
            $objPage,                                       // objPage
            $CONF['email03'],                               // from_address
            $CONF['shop_name'],                             // from_name
            $CONF['email02'],                               // reply_to
            $CONF['email02'],                               // bcc
            $attachment                                     // attachment
        );
    }



さらに迷った点が attach_mail.tpl はどの部分のことをいっているかという点なのですが・・

data/Smarty/templates/default/mail_templates/attach_mail.tpl
data/Smarty/templates/default/user_data/attach_mail.tpl



----------------

mizuvan
投稿日時: 2015/1/31 15:06
対応状況: −−−
長老
登録日: 2013/3/26
居住地:
投稿: 253
Re: 注文時にファイル添付をできるようにしたい
yuh様ありがとうございます!

最後に<!--{/if}-->が抜けていました・・
しかも、文字コードもUTF-8Nにしてなくて修正後
問題なく表示できました

さらに下記ファイルをカスタマイズ
SC_Helper_Mail.php
SC_SendMail.php

しかし、送信ができないのです・・

項目を入力、添付ファイルも選んだ後に送信をしてもページは変わらず入力した内容が消え、添付ファイルの選択も消えてしまう状態です。

エラーログには何も残っていません

どこかしらで新たなconfirm.tplの設定をしなければならないのでしょか?


----------------

yuh
投稿日時: 2015/1/31 13:25
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 注文時にファイル添付をできるようにしたい
テンプレートの記載が間違えてるっぽいですね。
<!--{if}-->に対しての閉じる<!--{/if}-->とからへんでエラーが起こってます。
mizuvan
投稿日時: 2015/1/31 13:17
対応状況: −−−
長老
登録日: 2013/3/26
居住地:
投稿: 253
Re: 注文時にファイル添付をできるようにしたい
yuh様、何度もありがとうございます

大変失礼いたしました。テンプレートファイルは作っていませんでした・・・

さっそく作りましたが、下記のようなエラーでした。

きっと、意味がしっかりわからずPHPをコピーして作っただけのものでしたのでめちゃくちゃなのでしょうか

引用:
2015/01/31 13:13:33 [/***/user_data/attach_mail.php] Fatal error(E_USER_ERROR): Smarty error: [in ***/data/Smarty/templates/original/user_data/attach_mail.tpl line 171]: syntax error: unclosed tag \{else} (opened line 160). (Smarty_Compiler.class.php, line 317) on [***/data/module/Smarty/libs/Smarty.class.php(1094)] from IPアドレス
customer_id = 1
***/user_data/attach_mail.php(204): LC_Page_User->process
***/user_data/attach_mail.php(33): LC_Page->sendResponse
***/data/class/pages/LC_Page.php(152): SC_Display->prepare
***/data/class/SC_Display.php(80): SC_View->getResponse
***/data/class/SC_View.php(101): Smarty->fetch
***/data/module/Smarty/libs/Smarty.class.php(1264): include
***/data/Smarty/templates_c/original/%%F1^F15^F158E3F4%%site_frame.tpl.php(177): Smarty->_smarty_include
***/data/module/Smarty/libs/Smarty.class.php(1870): include
***/data/Smarty/templates_c/original/%%58^587^5876E692%%site_main.tpl.php(39): Smarty->_smarty_include
***/data/module/Smarty/libs/Smarty.class.php(1868): Smarty->_compile_resource
***/data/module/Smarty/libs/Smarty.class.php(1423): Smarty->_compile_source
***/data/module/Smarty/libs/Smarty.class.php(1490): Smarty_Compiler->_compile_file
***/data/module/Smarty/libs/Smarty_Compiler.class.php(317): Smarty_Compiler->_syntax_error
***/data/module/Smarty/libs/Smarty_Compiler.class.php(2256): Smarty->_trigger_fatal_error
***/data/module/Smarty/libs/Smarty.class.php(1816): Smarty->trigger_error
***/data/module/Smarty/libs/Smarty.class.php(1094): trigger_error


----------------

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,893名です
総投稿数は110,001件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
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.