質問 > フロント機能 > 新規作成した問合せフォームに買い物かごの情報を表示したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shin_shin |
投稿日時: 2011/3/29 13:40
対応状況: −−−
|
常連 登録日: 2008/9/17 居住地: 投稿: 48 |
新規作成した問合せフォームに買い物かごの情報を表示したい お問い合わせフォームをコピーして、見積フォーム(estimate)
というように新規作成はできたのですが、そのフォームに 買い物かごの情報も表示させたいのですが、上手くいきません。 方法として、 public_html\data\Smarty\templates\default\cart のindex.tplの情報を、 public_html\data\Smarty\templates\default\estimate のindex.tpl、conform.tplにもってくると可能だと思ったのですが、ぜんぜん上手くいきません。 PHPのスキルが素人なのでなかなか上手くいきません。 どなたか、ヒントでもいただけると助かります。 環境 EC-CUBEバージョン 2.2.0-beta PHPバージョン PHP 5.2.5 DBバージョン PostgreSQL 8.2.4 |
AMUAMU |
投稿日時: 2011/3/29 14:12
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 新規作成した問合せフォームに買い物かごの情報を表示したい 表示したいだけであれば、ブロックでそのまま表示出来ると思いますが
そうではなくて入力・メール送信する情報として買い物かごの中身も入れたいということでしょうか? そういうことであれば、テンプレートだけでは無理です。 買い物かごページの情報取得を参考に,問い合わせ画面に入れるためのPHPロジックを入れる必要があると思います。
|
shin_shin |
投稿日時: 2011/3/29 14:44
対応状況: −−−
|
常連 登録日: 2008/9/17 居住地: 投稿: 48 |
Re: 新規作成した問合せフォームに買い物かごの情報を表示したい AMUAMU様いつもありがとうございます。
試しに、 LC_Page_Cart.phpの /** * Page を初期化する. * * @return void */ function init() { parent::init(); $this->tpl_mainpage = 'cart/index.tpl'; $this->tpl_mainpage = 'estimate/index.tpl'; として追加してみたところ、 ドメイン/cart/index.phpに見積フォームとカート情報が記載されました。 これをLC_Page_estimate.phpに同様に$this->tpl_mainpage = 'cart/index.tpl'; を追加したら見れると思ったのですが、見れませんでした。 買い物かごページの情報取得というのは、LC_Page_Cart.phpを参考にするということでよろしいでしょうか? お手数お掛けしますが何卒ご教授お願いします |
AMUAMU |
投稿日時: 2011/3/29 16:13
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 新規作成した問合せフォームに買い物かごの情報を表示したい >買い物かごページの情報取得というのは、LC_Page_Cart.phpを参考にするということでよろしいでしょうか?
その通りです tp_mainpageの指定を変えるということは、テンプレートとなるHTMLファイルを切り替えているだけです。ロジックは関係ありません。
|
ipho |
投稿日時: 2011/12/14 16:59
対応状況: −−−
|
新米 登録日: 2011/12/14 居住地: 投稿: 2 |
Re: 新規作成した問合せフォームに買い物かごの情報を表示したい shin_shinさんと同じようなことをしたいと思っています。
【背景】 海外から注文のお客さんは、地域によって送料が大きく変わるので、 注文前に購入する商品と住所を海外のお客さん専用フォーム(お問合わせをコピーして作成済み)から送信してもらいたい。 送料を計算したのち、合計金額を返信して、送料を了承のうえ、メール内のクレジット決済リンクから購入してもらう形になります。 通常は、カート→購入手続きへですが、 海外のお客さんは、カート→海外のお客さん専用フォームへ となります。 現在こちらの投稿を参考に http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8774&forum=6 カートページに <form method="get" action="<!--{$smarty.const.HTTPS_URL}-->contact_overseas/"> <!--{foreach from=$cartItems[$key] item=item}--> <input type="hidden" name="products_name" value="<!--{$item.productsClass.name|escape}-->" / <input type="hidden" name="quantity" value="<!--{$item.quantity}-->" /> <!--{/foreach}--> <input type="submit" name="" value="海外からご注文のお客様はこちらへ" /> </form> として、海外のお客さん専用フォームへ値を入れられています。 ただ、この方法だと複数商品があった場合 http://フォームページURL/products_name=おなべ&quantity=2&products_name=アイス&quantity=5 となり、アイスの方しかフォームに入れられていません。 さらに、必須項目未入力で[確認画面へ]ボタンを押すと、入力された商品情報は消えてしまいます。 できればshin_shinさんのようにカートページのphpロジックを応用した形でカート情報を フォームに入力し、送信できればと考えています。 お手数をお掛けしますが、ご教授のほどお願い致します。 【環境】 EC-CUBEバージョン 2.11.2 PHPバージョン PHP 5.1.6 DBバージョン MySQL 5.0.77 サーバー エックスサーバー |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |