質問 > その他 > お問い合わせフォームを2つ作りたいです |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sumakuma |
投稿日時: 2024/4/4 18:49
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2024/4/4 居住地: 投稿: 6 |
お問い合わせフォームを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 居住地: 愛媛県 投稿: 1914 |
Re: お問い合わせフォームを2つ作りたいです 遷移しないというのは、ブラウザのローディングがされますでしょうか?
ローディングされない場合は Controller に処理がわたっていないので、ブラウザのデベロッパーツールなどでコンソールエラーが出ていないか確認してください。 ローディングされる場合はフォームエラーになっているかもしれないので、デバッグモードで確認してください。 または、 Controller 側でデバッグしてください。 isValid() 実行後に次を実行すればフォームエラーが確認できます。 dump($form->getErrors(true));
|
sumakuma |
投稿日時: 2024/4/4 19:11
対応状況: 開発中
|
新米 ![]() ![]() 登録日: 2024/4/4 居住地: 投稿: 6 |
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 居住地: 投稿: 387 |
Re: お問い合わせフォームを2つ作りたいです {{ asset(null, 'save_image') }} というようになってしまっています。
assetの第一引数には文字列のみ可能です。
|
sumakuma |
投稿日時: 2024/4/4 19:40
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2024/4/4 居住地: 投稿: 6 |
Re: お問い合わせフォームを2つ作りたいです ご回答ありがとうございます。
画像を引数に入れるようにカスタマイズすることは可能ですか。 |
tattsu |
投稿日時: 2024/4/4 19:44
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2023/12/23 居住地: 投稿: 387 |
Re: お問い合わせフォームを2つ作りたいです できると思いますよ
現在のコードがわからないと何とも助言できないので提示していただけますか?
|
sumakuma |
投稿日時: 2024/4/4 20:00
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2024/4/4 居住地: 投稿: 6 |
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 居住地: 投稿: 69 |
Re: お問い合わせフォームを2つ作りたいです 引用:
下記のサイトを参考に作成しました。 ※上の記事の内容は下記の理由からあまり真似しない方がいいように思います。 必要なら記事の運営者の方に修正を依頼してみてはいかがでしょうか。 ・誰でもファイルアップロードでき、直接ブラウザでアクセスもできるにも関わらず、アップロードするファイルの制限検証をしていなさそう。不正ファイルを設置されかねない。 ・他人が誰でもアクセスできるディレクトリにファイルをアップロードしている。(一応ファイル名にランダム要素はありますが..) ちなみに下記2点を修正すればファイルを送ること自体は可能だと思います。 自己責任でお願いいたします。 unset($data['attachment']);の下で、$data['filename'] = $filename; が必要 assetにNULLが渡るということは、{% if form.filename.vars.data != '' %}.. {% endif %}を書いていないのでは?
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |