質問 > フロント機能 > 変数宣言と画面遷移 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
gabriel |
投稿日時: 2011/11/21 23:41
対応状況: −−−
|
常連 登録日: 2011/8/18 居住地: 投稿: 35 |
Re: 変数宣言と画面遷移 返事をもらっていたのにずっと放置してしまったすみませんでした。
中国に出張にいっており、空港にてPCを盗難・・・。 本日、日本に帰国し、今に至ります。 Ringoさんのおかげで、なんとか解決出来そうです。 本当にありがとうございましたっ!! また何かありましたらよろしくお願いいたします。 |
ゲスト |
投稿日時: 2011/10/28 20:34
対応状況: −−−
|
Re: 変数宣言と画面遷移
|
|
ゲスト |
投稿日時: 2011/10/27 20:42
対応状況: −−−
|
Re: 変数宣言と画面遷移 引用:
エクリプスを使用してやってはみたのですが、 これは、eclipse-phpは使いこなせるがeccubeをトレースしても「ちんぷんかんぷん...」という理解で良いでしょうか? 小生も、当然、初めはそうでした。。。 引用: tpl側の+を押して、その後に動くプログラムは eccubeの中に「全て」有ります。それを「如何に探し出せる」様になるかです。 小生の場合は『「会社名」「部署名」の追加』を終えてから理解出来る様になりました。 引用: 示して頂いた情報も見てみたのですが、結局答えが でしょうか、、、小生にはヒントや指針が2,3は見えるのですが。。。 引用: 何か良い情報などがあれば、再度指し示して頂ければ 小生の現在のネタは全て出し尽くしてしまったので、これ以上は無いです。 p.s. ちょっとした思惑から、「のし...」を「グレード」に変えて「version-2_11-dev」 に適用してみます。 時間が取れるのか、巧くいくのかどうか、、、不明ですが。。。 巧くいったら、また何か提供できると思います。 |
|
gabriel |
投稿日時: 2011/10/26 23:29
対応状況: −−−
|
常連 登録日: 2011/8/18 居住地: 投稿: 35 |
Re: 変数宣言と画面遷移 >Ringo様
毎度、お世話になっております。 非常に役に立つ情報を毎回ありがとうございます。 エクリプスを使用してやってはみたのですが、 やはり、自分にはちんぷんかんぷんなところが 多々有り、躓いてしまいます。。。 tpl側の+を押して、その後に動くプログラムは わかったのですが、そのプログラムのコードの書き方や 戻った際にセレクトボックスの中を指定したものに 保っておく方法などが難しいです。 こちらの詳細なコードなどはありませんでしょうか? 示して頂いた情報も見てみたのですが、結局答えが 出ておらず、難しいと書いてあるだけでした。。。 何か良い情報などがあれば、再度指し示して頂ければ 非常に助かるのですが・・・。。。 お返事が遅くなり申し訳ありませんが、再度御指南下さい。 |
ゲスト |
投稿日時: 2011/10/25 18:58
対応状況: −−−
|
Re: 変数宣言と画面遷移 引用:
そして、ラミネートしたものや、ケース付きというオプションをつけることにより、値段を+100円などに変更するという使用になります。 ということであれば、仕様の検討のために、 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8825&forum=10&post_id=42697#forumpost42697 と、その中の 参考: http://goo.gl/Xblgk を、未読であれば、一読されてみてはいかがでしょうか。。。 (「参考」は2.1.2なので、手法は参考にならないと思いますが、、、考え方として。。。) 引用: 以前運営していたサイトでは、規格という形で運営していたのですが(他の方に作成していただいたサイト) eccubeには標準で「規格」を持っていますので、「かごの中だけで規格を動かす」のも一案かとも思いましたが、、、 その場合は『まず』は「数量の掛算」を外さないといけないですね。。。 引用: 引用: 今回の案件は想定した「例:$objCartSess->addPrice(...)」では実現出来そうにありませんが、処理の流れとして、同様の
を追う事にします。 1.tpl側で「+」を押す。 2.「case 'up':」により、 $objCartSess->upQuantity($cart_no, $cartKey);が実行され、 →data/class/SC_CartSession.php内 function upQuantity($cart_no, $productTypeId) { →$this->setQuantity($quantity + 1, $cart_no, $productTypeId); →function setQuantity($quantity, $cart_no, $productTypeId) { →$this->cartSession[$productTypeId][$i]['quantity'] = $quantity; にてcartSessionのquantityが+1されます。 続いて、 3.SC_Response_Ex::reload(array('category_id' => $objFormParam->getValue('category_id')), true); にて「自分自身」がreloadされ、 4.// カート集計処理 が行われて「小計」他が再計算され「終了」、、、となります。 引用: あと、商品単価がtplの方では、「$item.productsClass.price02」という記載になっているのですが、これはphp側ではなんという名前になっているのでしょうか? data/class/pages/cart/LC_Page_Cart.php の91行目 $this->cartItems =& $objCartSess->getAllCartList(); です。 var_dump($this->cartItems); で、画面に表示すれば array(1) { [1]=> array(2) { [0]=> &array(11) { ["id"]=> string(2) "10" ["quantity"]=> string(1) "1" ["cart_no"]=> int(1) ["productsClass"]=> array(76) { ["product_id"]=> string(1) "2" ["stock"]=> string(3) "100" ["stock_unlimited"]=> string(1) "0" ["sale_limit"]=> string(1) "5" ["price01"]=> string(4) "1700" ["price02"]=> string(4) "1650" ... の様に中身を確認することが出来ます。 p.s. この先、ご自身にてeccubeの「page内クラス」と「SC_...クラス」を縦横無尽に追いかける必要がありますので、 そのためにも、先に記しました『eclipse-php』を利用しての「右クリック」「Open Selection」機能の活用をお薦めします。 既にご活用でしたら、、、失礼しました。。。 |
|
gabriel |
投稿日時: 2011/10/25 8:45
対応状況: −−−
|
常連 登録日: 2011/8/18 居住地: 投稿: 35 |
Re: 変数宣言と画面遷移 >Ringo様
お世話になります。迅速な対応に感謝しております。 >ところで「規格」機能を使用せず「かごの中」での本処理を希望されるのには、なにがしかの思惑が有るとの理解でよろしいでしょうか? 実は、作成中のものは、トレーディングカード販売のECサイトでして、基本的に料金は一律400円、そして購入される枚数が11枚を超えると一律200円の料金に変更するというものです。(10枚で通常4000円なのですが、11枚になると2200円になる様なシステムです)そして、ラミネートしたものや、ケース付きというオプションをつけることにより、値段を+100円などに変更するという使用になります。 以前運営していたサイトでは、規格という形で運営していたのですが(他の方に作成していただいたサイト)その際に、お客様からいちいち商品を購入するごとに選ぶのが面倒なので、購入するときにいっぺんに変更できるようにしてほしいという要望が非常に多く、それが面倒でこのサイトでは買わないとおっしゃる方もいらっしゃったので、今回はこのような仕様にしようと考えました。 引用:
申し訳ないのですが、こちらの部分をもう少し詳しく書いていただけませんか? あと、商品単価がtplの方では、「$item.productsClass.price02」という記載になっているのですが、これはphp側ではなんという名前になっているのでしょうか? 度々ご迷惑をおかけしますが、宜しくお願いいたします。 |
ゲスト |
投稿日時: 2011/10/24 19:24
対応状況: −−−
|
Re: 変数宣言と画面遷移 引用:
[私が申し上げたかったのは、カートの中の商品ひとつひとつに ということで、 引用: $objCartSess->delProduct($cart_no, $cartKey); だったのでしょうか? data/class/SC_CartSession.php に、各種 function が定義されています。 それで、目的の処理は 1.tpl側にて先の様にselectboxを設け 2.php側にて
を流用して、SC_CartSession.phpに新設する「例:$objCartSess->addPrice(...)」を実行させ、 3.「2度目」の「data/class/pages/cart/LC_Page_Cart.php 」(SC_Response_Ex::reload(...))にて「// カート集計処理」以下を行わせる。 になるかと思います。 ところで「規格」機能を使用せず「かごの中」での本処理を希望されるのには、なにがしかの思惑が有るとの理解でよろしいでしょうか? |
|
gabriel |
投稿日時: 2011/10/24 14:30
対応状況: −−−
|
常連 登録日: 2011/8/18 居住地: 投稿: 35 |
Re: 変数宣言と画面遷移 >Ringo様
お世話になっております。 毎回サポートしていただきありがとうございます。 少しずつ前に進めており非常に感謝しています。 今回のコードについて、難しい内容ながらも いろいろと流用出来てとてもありがたいです。 しかし、私の言葉が不適切で要らぬ手間をかけさせて しまっております。 私が申し上げたかったのは、カートの中の商品ひとつひとつに セレクトボックスを設置し、その内容で、現在の単価+αと いう値段を設定したいという内容でした。 確かに上限と書いてしまっており、私の不徳の次第でございます。 もしよろしければ、再度サポートをお願いできませんでしょうか? |
ゲスト |
投稿日時: 2011/10/24 11:18
対応状況: −−−
|
Re: 変数宣言と画面遷移 サンプルコードです。
|
|
ゲスト |
投稿日時: 2011/10/21 22:49
対応状況: −−−
|
Re: 変数宣言と画面遷移 引用:
もしPHPファイルの中で php内での「$this->変数名」(「$this->」付き)が、 Smartyで参照出来る事に留意してください。 $testではphp内のローカル変数となります。 引用: それでは、その値にtplで再度値をプラスしたり、マイナスしたり 先にも示しています様に、処理「プラス、マイナス」はphp側で行います。 tpl側は 1.デフォルト値を表示する。 2.formで 1)処理モード 2)「値」 をphp側へ送り込む。 ことを行います。 (Smarty内でphpのインストラクションを記述できますが、eccubeでは非推奨です。) 引用: そして、tplファイルでselecBoxを作っているのですが、それを 概念的には 1.<select>タグで必要な選択肢を<option value="...>しておき 2.<a href="?" onclick="fnFormModeSubmit('form<!--{$key}-->','up','cart_no','<!--{$item.cart_no}-->'); return false"><img src="<!--{$TPL_URLPATH}-->img/button/btn_plus.jpg" width="16" height="16" alt="+" /></a> を流用して送り込みを記述し 3.php側で 1)$objFormParam = $this->lfInitParam($_REQUEST); で受け取り( 「function lfInitParam($arrRequest) {」に新name値の追加は必要) 2)switch($this->mode) { 部分で処理分岐し、selectboxの値に対応した値を「例:$this->arrData["hogehoge"]」に代入し 4.tpl側で「$arrData["hogehoge"]」を表示する となります。 fnFormModeSubmit()は「html/js/site.js」内で定義されています。 ここの部分は、時間が取れたら、サンプルコードで動作確認をした後、提示させて頂きたく、、、お時間ください。 引用: そして初歩的すぎるとは思いますが、、 2.11.1とのことですので、data/class/pages/cart/LC_Page_Cart.phpの77行目の
になります。 |
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |