質問 > フロント機能 > ページ管理で新規作成したページに「カートに入れる」ボタンを設置する |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
newuser |
投稿日時: 2021/1/17 15:45
対応状況: 開発中
|
半人前 登録日: 2021/1/17 居住地: 投稿: 12 |
ページ管理で新規作成したページに「カートに入れる」ボタンを設置する EC-CUBE 4.0.5
サーバーOS Linux xserver DBサーバー MySQL 5.7.31 WEBサーバー Apache PHP 7.4.13 ページ管理で新規ページを作成しそこに 数量選択と「カートに入れる」ボタンを設置したいのですが CSRF対策のトークンが作成出来ずエラーになってしまいます。 CSRFを無効にせずに実装したいです。 似たような質問は拝見したのですが理解が足りず 実装できませんでした。 よければアドバイスが欲しいです。 できればコードだけでなくそれをどこに記載するかも 教えていただけるとありがたいです。
ボタンや数量選択はこのように記述しています よろしくお願いします。 |
NMAKINO |
投稿日時: 2021/1/18 0:10
対応状況: −−−
|
半人前 登録日: 2018/9/21 居住地: 投稿: 27 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する おそらくですが、Fromタグの下あたりに
これを追加してみてはいかがでしょうか? |
newuser |
投稿日時: 2021/1/18 10:22
対応状況: −−−
|
半人前 登録日: 2021/1/17 居住地: 投稿: 12 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する 返信ありがとうございます
教えていただいた通り {{ csrf_token_for_anchor() }}を
のように記載したのですが画面に token-for-anchor='ZeHSskjkjljsdskjdlksl-VoN3HAhwzv6LMypN7C_PM' と表示されるだけでカートに入れることができませんでした。 教えてもらったのに活かせずすいません。
のvalueの部分に商品詳細ページの同様の記述から valueの部分をコピーしてきたらカートに入れることができたのですが 時間が経つとまたエラーになりました。 またスマホで確認したところPCではカートに入れるとができたのですが スマホだとエラーになって入れることができません。 |
NMAKINO |
投稿日時: 2021/1/20 8:24
対応状況: −−−
|
半人前 登録日: 2018/9/21 居住地: 投稿: 27 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する すいません。。。
<input type="hidden" name="_token" value="{{ csrf_token('_token') }}"> こっちのタグを使ってみてはいかがでしょうか? |
newuser |
投稿日時: 2021/1/20 10:54
対応状況: −−−
|
半人前 登録日: 2021/1/17 居住地: 投稿: 12 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する 返信ありがとうございます。上記のコードを使うことで
検証モードで調べると
となったのですがボタンを押すとエラーとなります。 試しに商品一覧のvalueを確認してみると全く別の値でした。 csrf以外の何かで生成されてるってことなんですかね? 後ネットで調べて
で設置できるとの記事もありましたが 自分の環境ではエラーになってしまいました。 他にも
を試してみましたが{{form_widget(form._token) }}が エラーになってしまいダメでした。 苦肉の策としてデフォルトの商品一覧のページを そのまま全部コピーしてuser_dataに貼り付けたのですが
でエラーになってしまい表示することが出来ませんでした。 |
NMAKINO |
投稿日時: 2021/1/20 14:00
対応状況: −−−
|
半人前 登録日: 2018/9/21 居住地: 投稿: 27 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する エラーはどんなのが表示されてますか?
この部分は、おそらく 追加したページを表示する際に使用するコントローラーでFormを生成していないからだと思います。 |
newuser |
投稿日時: 2021/1/20 17:17
対応状況: −−−
|
半人前 登録日: 2021/1/17 居住地: 投稿: 12 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する 未熟な自分に返信ありがとうございます。
エラーの内容ですが
上記が記載に対してのエラーで __TwigTemplate_74c605b4cf9c312234a56adc99fc78a559bdd27feb411869f5853b8d377b74f9->{closure}() in /home/orasorriso/sorriso-magico.com/public_html/var/cache/dev/twig/1c/1cf50a338a14e138038801a008b38df5d39e374611d35212ae6bd03d216f0696.php (line 569)
少し長くなってしまって申し訳ないのですがこれが おそらくテンプレートの呼び出しエラーかなと考えています。 __TwigTemplate_74c605b4cf9c312234a56adc99fc78a559bdd27feb411869f5853b8d377b74f9->block_main(array('app' => object(AppVariable), 'BaseInfo' => object(BaseInfo), 'eccube_config' => object(EccubeConfig), 'event_dispatcher' => object(TraceableEventDispatcher), 'Layout' => object(Layout), 'Page' => object(Page), 'title' => 'lp_test', 'layoutRoleMain' => 'ec-layoutRole__main'), array('stylesheet' => array(object(__TwigTemplate_74c605b4cf9c312234a56adc99fc78a559bdd27feb411869f5853b8d377b74f9), 'block_stylesheet'), 'main' => array(object(__TwigTemplate_74c605b4cf9c312234a56adc99fc78a559bdd27feb411869f5853b8d377b74f9), 'block_main'), 'javascript' => array(object(__TwigTemplate_74c605b4cf9c312234a56adc99fc78a559bdd27feb411869f5853b8d377b74f9), 'block_javascript'))) in /home/orasorriso/sorriso-magico.com/public_html/vendor/twig/twig/src/Template.php (line 184)
これがテンプレートが呼び出せなくてblockが作れない為の エラーかと考えています。 色々アドバイスしてくださってるのに エラーに対して対応出来ず申し訳ないです。 この情報で分かることがあれば よろしくお願いします。 |
umebius |
投稿日時: 2021/1/20 22:18
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する NMAKINOさんが紹介している<input type="hidden" name="_token" value="{{ csrf_token('_token') }}">
ではなく、
であればトークンが一致しませんか? ちなみに、<input type="hidden" id="_token" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> は2系のやり方なので、4系では使えないですね。
|
newuser |
投稿日時: 2021/1/20 23:11
対応状況: 解決済
|
半人前 登録日: 2021/1/17 居住地: 投稿: 12 |
Re: ページ管理で新規作成したページに「カートに入れる」ボタンを設置する 教えて頂いた記述に変更したところ
無事に実装することが出来ました。ありがとうございます。 未熟な自分に親切に返信していただき2人ともありがとうございました。 これを元にサイトを作っていきます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |