質問 > フロント機能 > 商品詳細画面でもう一つカートに入れるボタンを追加したい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mcontact |
投稿日時: 2023/5/30 10:29
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1535 |
Re: 商品詳細画面でもう一つカートに入れるボタンを追加したい 商品詳細画面に「カートに入れる」ボタンを追加したいだけであれば、Controller部に追加したカートボタンを押下した場合の処理を行うメソッドを車輪の再発明の様に追加する必要はありません。
単純に、商品詳細画面のFormタグ内に追加したカートボタンを入れていれば良いだけですのでtwigファイルを合うように記述すればいいです。 Formタグ内に入れられないデザインをしているのであれば、元のカートに入れるボタンの処理を実行する様なJavascriptを実装すれば、良いと思います。
|
akako152 |
投稿日時: 2023/5/26 19:06
対応状況: 解決済
|
半人前 登録日: 2021/4/7 居住地: 東京都 投稿: 16 |
Re: 商品詳細画面でもう一つカートに入れるボタンを追加したい テンプレートファイル(例:product_detail.html.twig)を開きます。
追加したいカートボタンの部分に以下のコードを追加します: <form action="{{ path('add_to_cart') }}" method="post"> <input type="hidden" name="productId" value="{{ product.id }}" /> <button type="submit" class="btn btn-primary">カートに入れる</button> </form> コントローラーのアクション(例:add_to_cart)を作成します。このアクションでは、カートに商品を追加する処理を実装します。 use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; // ... /** * @Route("/add-to-cart", name="add_to_cart", methods={"POST"}) */ public function addToCartAction(Request $request) { $productId = $request->request->get('productId'); // カートに商品を追加する処理を記述します return $this->redirectToRoute('product_detail', ['id' => $productId]); } 以上の手順を実行することで、商品詳細画面に追加したいカートボタンが表示され、ボタンがクリックされると指定したコントローラーアクションが呼び出されるようになります。追加したいカートボタンのデザインや動作に応じて、必要に応じてカスタマイズしてください。 |
mcontact |
投稿日時: 2023/5/23 11:16
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1535 |
Re: 商品詳細画面でもう一つカートに入れるボタンを追加したい 開発ドキュメントは、下記にあります。
https://doc4.ec-cube.net/
|
k_ko |
投稿日時: 2023/5/23 9:17
対応状況: −−−
|
新米 登録日: 2023/3/15 居住地: 投稿: 3 |
商品詳細画面でもう一つカートに入れるボタンを追加したい ▼テンプレート
[EC-CUBE] EC-CUBEのバージョン、4.1.2 [環境]ローカル開発環境 ●やりたいこと 商品詳細画面にてカートに入れるボタン↓をもうひとつ追加したいのですが、この場合同じformは2個表示できなかったのでAddCartTypeにもう一つ同じものを追加し、同じ処理を書けばよいのかなと思いますが、他に良い方法などありますでしょうか? よろしくお願い致します。 <form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1"> {% if is_granted('ROLE_USER') and Product.status.id == display_show %} {% if Product.stock_find %} <div class="ec-productRole__actions"> {% if form.classcategory_id1 is defined %} <div class="ec-select"> {{ form_widget(form.classcategory_id1) }} {{ form_errors(form.classcategory_id1) }} </div> {% if form.classcategory_id2 is defined %} <div class="ec-select"> {{ form_widget(form.classcategory_id2) }} {{ form_errors(form.classcategory_id2) }} </div> {% endif %} {% endif %} {% if is_granted('ROLE_USER') %} <div class="ec-numberInput"><span>{{ '数量'|trans }}</span> <div class="spinner-container"> <div class="field"> <button class="button disabled" id="down" type="button">-</button> {{ form_widget(form.quantity) }} {{ form_errors(form.quantity) }} <button class="button" id="up" type="button">+</button> </div> </div> </div> {% endif %} </div> <div class="ec-productRole__btn"> <button type="submit" class="ec-blockBtn--action add-cart"> {{ 'カートに入れる'|trans }} </button> </div> {{ form_rest(form) }} {% else %} <div class="ec-productRole__btn"> <button type="button" class="ec-blockBtn--action" disabled="disabled"> {{ '在庫がありません'|trans }} </button> </div> {% endif %} {% endif %} {% if Product.status.id != display_show %} <div class="ec-productRole__btn"> <button type="button" class="ec-blockBtn--action" disabled="disabled"> {{ '当商品の申込受付は<br>終了しました'|raw|nl2br }} </button> </div> {% endif %} </form> |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |