バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > お問い合わせフォームを2つ作りたいです

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sumakuma
投稿日時: 2024/4/4 18:49
対応状況: −−−
新米
登録日: 2024/4/4
居住地:
投稿: 4
お問い合わせフォームを2つ作りたいです
▼テンプレート
[EC-CUBE]バージョン 4.2.2
[レンタルサーバ]  xserver
[OS] mac
[PHP] PHP Version 7.4.33
[データベース] MySQL 10.5.19-MariaDB-log
[WEBサーバ] Apache
[カスタマイズの有無] テンプレートを使用しています
[現象]
ec-cubeにてお問い合わせフォームを二つ使用したいと考えています。
またフォームに画像のアップロード機能をつけたいと考えています。

現状下記のサイトを参考にお問い合わせフォームの複製を行いましたが、
フォームを入力後、確認画面に遷移しない現象が起こっています。

https://www.creatorlab.jp/2019/08/17/ec-cube-4%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%81%ae%e8%a4%87%e8%a3%bd/?unapproved=536&moderation-hash=dd40854419619facb21820fa0ca2be8d#comment-536


どなたかお問い合わせフォームの複数実装の知見がある方がいれば、ご協力いただけないでしょうか。
何卒よろしくお願いいたします。
h_tanaka
投稿日時: 2024/4/4 18:56
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
Re: お問い合わせフォームを2つ作りたいです
遷移しないというのは、ブラウザのローディングがされますでしょうか?

ローディングされない場合は Controller に処理がわたっていないので、ブラウザのデベロッパーツールなどでコンソールエラーが出ていないか確認してください。

ローディングされる場合はフォームエラーになっているかもしれないので、デバッグモードで確認してください。
または、 Controller 側でデバッグしてください。
isValid() 実行後に次を実行すればフォームエラーが確認できます。
dump($form->getErrors(true));


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

sumakuma
投稿日時: 2024/4/4 19:11
対応状況: 開発中
新米
登録日: 2024/4/4
居住地:
投稿: 4
Re: お問い合わせフォームを2つ作りたいです
ご返信ありがとうございます。
デバックモード確認したところ、フォーム①で使用している、必須項目が入っていなかったため確認画面に遷移されなかったようです。

この問題は解消されましたが、添付ファイルのフォームのところでエラーが出てしまいました。
以下のエラー文から何かわかることがございますでしょうか。
PHPの知見が浅く、お力をお借りしたいです。


【Stack Trace】
TypeError:
Argument 1 passed to Symfony\Bridge\Twig\Extension\AssetExtension::getAssetUrl() must be of the type string, null given, called in /home/sumamin0403/ai6kpnzn4p28.com/public_html/oyayubihime/var/cache/dev/twig/c1/c1f005b11e93db9d415eb0e56811b056ddff0ead97d2f2281000bd085cca4508.php on line 172

at vendor/symfony/twig-bridge/Extension/AssetExtension.php:49
at Symfony\Bridge\Twig\Extension\AssetExtension->getAssetUrl(null, 'save_image')
(var/cache/dev/twig/c1/c1f005b11e93db9d415eb0e56811b056ddff0ead97d2f2281000bd085cca4508.php:172)
at __TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a->block_main(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false, 'layoutRoleMain' => 'ec-layoutRole__main'), array('stylesheet' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_stylesheet'), 'main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main'), 'javascript' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_javascript')))
(vendor/twig/twig/src/Template.php:182)
at Twig\Template->displayBlock('main', array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false, 'layoutRoleMain' => 'ec-layoutRole__main'), array('stylesheet' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_stylesheet'), 'main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main'), 'javascript' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_javascript')))
(var/cache/dev/twig/a0/a0ed058e244cba9488f0cb73199cc2558f883534687130dd2d89bb7c9204c319.php:328)
at __TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf->doDisplay(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false, 'layoutRoleMain' => 'ec-layoutRole__main'), array('stylesheet' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_stylesheet'), 'main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main'), 'javascript' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_javascript')))
(vendor/twig/twig/src/Template.php:405)
at Twig\Template->displayWithErrorHandling(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false), array('stylesheet' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_stylesheet'), 'main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main'), 'javascript' => array(object(__TwigTemplate_cf77c2cb2dba85217436fcbaa0f32ca0f264cd1e90f2b76615b77a93275f2aaf), 'block_javascript')))
(vendor/twig/twig/src/Template.php:378)
at Twig\Template->display(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false), array('main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main')))
(src/Eccube/Twig/Template.php:41)
at Eccube\Twig\Template->display(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false), array('main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main')))
(var/cache/dev/twig/c1/c1f005b11e93db9d415eb0e56811b056ddff0ead97d2f2281000bd085cca4508.php:51)
at __TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a->doDisplay(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false), array('main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main')))
(vendor/twig/twig/src/Template.php:405)
at Twig\Template->displayWithErrorHandling(array('form' => object(FormView), 'Page' => object(Page), 'app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'title' => 'お問い合わせ2(入力ページ)', 'isMaintenance' => false), array('main' => array(object(__TwigTemplate_586bff46671d084e6d86a92ade2da9257da8318407cd6291ddc37d92b05e818a), 'block_main')))
(vendor/twig/twig/src/Template.php:378)
at Twig\Template->display(array('form' => object(FormView), 'Page' => object(Page)), array())
(src/Eccube/Twig/Template.php:41)
at Eccube\Twig\Template->display(array('form' => object(FormView), 'Page' => object(Page)))
(vendor/twig/twig/src/Template.php:390)
at Twig\Template->render(array('form' => object(FormView), 'Page' => object(Page)), array())
(vendor/twig/twig/src/TemplateWrapper.php:45)
at Twig\TemplateWrapper->render(array('form' => object(FormView), 'Page' => object(Page)))
(vendor/twig/twig/src/Environment.php:318)
at Twig\Environment->render('Contact2/confirm.twig', array('form' => object(FormView), 'Page' => object(Page)))
(vendor/symfony/framework-bundle/Controller/AbstractController.php:258)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->renderView('Contact2/confirm.twig', array('form' => object(FormView), 'Page' => object(Page)))
(vendor/symfony/framework-bundle/Controller/AbstractController.php:266)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('Contact2/confirm.twig', array('form' => object(FormView), 'Page' => object(Page)))
(app/Customize/Controller/Contact2Controller.php:100)
at Customize\Controller\Contact2Controller->index(object(Request))
(vendor/symfony/http-kernel/HttpKernel.php:163)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:75)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:202)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(index.php/:83)
tattsu
投稿日時: 2024/4/4 19:32
対応状況: −−−
長老
登録日: 2023/12/23
居住地:
投稿: 215
Re: お問い合わせフォームを2つ作りたいです
{{ asset(null, 'save_image') }} というようになってしまっています。

assetの第一引数には文字列のみ可能です。


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

sumakuma
投稿日時: 2024/4/4 19:40
対応状況: −−−
新米
登録日: 2024/4/4
居住地:
投稿: 4
Re: お問い合わせフォームを2つ作りたいです
ご回答ありがとうございます。
画像を引数に入れるようにカスタマイズすることは可能ですか。
tattsu
投稿日時: 2024/4/4 19:44
対応状況: −−−
長老
登録日: 2023/12/23
居住地:
投稿: 215
Re: お問い合わせフォームを2つ作りたいです
できると思いますよ
現在のコードがわからないと何とも助言できないので提示していただけますか?


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

sumakuma
投稿日時: 2024/4/4 20:00
対応状況: −−−
新米
登録日: 2024/4/4
居住地:
投稿: 4
Re: お問い合わせフォームを2つ作りたいです
下記のサイトを参考に作成しました。
コードはほぼ同じです。

https://hapicode.com/ec-cube/contact-form.html#formextension-%E3%82%AF%E3%83%A9%E3%82%B9%E4%BD%9C%E6%88%90
k.nakayama
投稿日時: 2024/4/4 22:28
対応状況: −−−
常連
登録日: 2019/10/11
居住地:
投稿: 52
Re: お問い合わせフォームを2つ作りたいです
引用:
下記のサイトを参考に作成しました。
コードはほぼ同じです。

https://hapicode.com/ec-cube/contact-form.html#formextension-%E3%82%AF%E3%83%A9%E3%82%B9%E4%BD%9C%E6%88%90


※上の記事の内容は下記の理由からあまり真似しない方がいいように思います。
 必要なら記事の運営者の方に修正を依頼してみてはいかがでしょうか。


・誰でもファイルアップロードでき、直接ブラウザでアクセスもできるにも関わらず、アップロードするファイルの制限検証をしていなさそう。不正ファイルを設置されかねない。

・他人が誰でもアクセスできるディレクトリにファイルをアップロードしている。(一応ファイル名にランダム要素はありますが..)



ちなみに下記2点を修正すればファイルを送ること自体は可能だと思います。
自己責任でお願いいたします。 

unset($data['attachment']);の下で、$data['filename'] = $filename; が必要

assetにNULLが渡るということは、{% if form.filename.vars.data != '' %}.. {% endif %}を書いていないのでは?


----------------
----------------
開発公式インテグレートパートナー U-Mebius

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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