質問 > フロント機能 > 商品登録画面での割引金額の計算表示 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
aozora |
投稿日時: 2013/3/28 1:18
対応状況: −−−
|
常連 登録日: 2013/3/21 居住地: 投稿: 40 |
Re: 商品登録画面での割引金額の計算表示 yuh様、sumida様、
貴重なご意見、そしてご教授を頂きまして感謝いたします。 ご指摘の手法など、あらゆる方法をためしておりますが未だに解決に至っておらず、よって継続的に解決策を探っております。しかしながらもう少しのところまできている感はあります。 頑張ってみます。ありがとうございます。 |
sumida |
投稿日時: 2013/3/26 22:55
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 商品登録画面での割引金額の計算表示 思いつきですが、
LC_Page_Admin_Products_Product.phpで、 $objFormParam->addParam()を使って、他の変数と同様にrate1を定義し、その変数を使えば良いように思います。 $arrForm['rate1'] = $rate1[0]; が、後々、商品の変更等でも使用する可能性があるのなら、 割引率あるいは割引率番号を商品情報のテーブル内に保存するのもありかなと。 |
yuh |
投稿日時: 2013/3/26 20:47
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品登録画面での割引金額の計算表示 $rate1 = 〜〜〜〜〜〜
の部分を$this->rate1 = 〜〜〜〜 に変更して <!--{$rate1|h}--> でどうでしょう? 読み出す部分でデータをテンプレ側に渡してないような気がします。 |
aozora |
投稿日時: 2013/3/26 18:23
対応状況: −−−
|
常連 登録日: 2013/3/21 居住地: 投稿: 40 |
Re: 商品登録画面での割引金額の計算表示 yuh様、皆様、
ご連絡頂きましてありがとうございます。 申し訳ございません。 コピーし、貼り付けた後に <!--{$arrForm.price02|h}-->を<!--{$arrForm.rate1|h}-->へ変更しても割引率が表示されません。の間違いです。 |
yuh |
投稿日時: 2013/3/26 18:11
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品登録画面での割引金額の計算表示 <!--{$arrErr.rate1}-->って基本$arrErrはエラー関係を入れるのでそこが間違ってないですか?
|
aozora |
投稿日時: 2013/3/26 17:37
対応状況: −−−
|
常連 登録日: 2013/3/21 居住地: 投稿: 40 |
Re: 商品登録画面での割引金額の計算表示 Fukap様、Sumida様、
表示されました。すごいです。これは有識者でなければ分かりません。 さすがでございます。ご丁寧にご対応頂きましてありがとうございます。 今もう一つ直面しており、もしすぐ分かるのであればご教授ねがいます。 表示された各々の割引価格の横に各々の割引率である$rate1, $rate2, $rate3・・を表示させたいと思いadmin/product/product.tpl内に販売価格の部分を丸ごとコピー、貼り付けし、<!--{$arrErr.price02}-->を<!--{$arrErr.rate1}-->と変更し、試しているのですが表示されません。どこに問題がありますでしょうか。 |
fukap |
投稿日時: 2013/3/26 14:40
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 商品登録画面での割引金額の計算表示 getColメソッドの返り値が配列であれば、以下のような感じでいけませんかね?
|
aozora |
投稿日時: 2013/3/25 15:25
対応状況: −−−
|
常連 登録日: 2013/3/21 居住地: 投稿: 40 |
Re: 商品登録画面での割引金額の計算表示 Sumida様、Fukap様、
ご返信頂きましてありがとうございます。 data/class/SC_Query.phpは以下の様になっているということですね。 /** * SELECT 文の実行結果を 1列のみ取得する. * * @param string $table テーブル名 * @param string $col カラム名 * @param string $where 付与する WHERE 句 * @param array $arrWhereVal プレースホルダに挿入する値 * @return array SQL の実行結果の配列 */ function getCol($col, $table = '', $where = '', $arrWhereVal = array()) { $sql = $this->getSql($col, $table, $where, $arrWhereVal); $sql = $this->dbFactory->sfChangeMySQL($sql); $sth =& $this->prepare($sql); if (PEAR::isError($sth) && $this->force_run) { return; } ということは、テーブルdtb_discountからwhereがdiscount_id=1のカラムrateを$rate1に挿入するには以下をどう記述したらよいでしょうか。 $rate1 = $objQuery->getCol('rate', 'dtb_discount', 'discount_id = ?', array('1')); ありとあらゆることを試しておりますが、エラーがでます。何かご教授お願い致します。 |
sumida |
投稿日時: 2013/3/24 18:22
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 商品登録画面での割引金額の計算表示 $rate1 = $objQuery->getCol('rate', 'dtb_discount', 'discount_id = ?', array('1'));
の戻り値は、 data/class/SC_Query.phpの関数getColによれば、 /** * SELECT 文の実行結果を 1列のみ取得する. * * @param string $table テーブル名 * @param string $col カラム名 * @param string $where 付与する WHERE 句 * @param array $arrWhereVal プレースホルダに挿入する値 * @return array SQL の実行結果の配列 */ という事で、戻り値がarrayになっているのでは? |
aozora |
投稿日時: 2013/3/24 17:20
対応状況: −−−
|
常連 登録日: 2013/3/21 居住地: 投稿: 40 |
Re: 商品登録画面での割引金額の計算表示 Fukap様
ご教授いただきありがとうございます。 流れがわかりました。 ご教授どおり以下のように試しました。getCol(内のrateはdtb_discountで割引率を入力したフィールド名(カラム名)です。 $rate1 = $objQuery->getCol('rate', 'dtb_discount', 'discount_id = ?', array('1')); $sqlval['discount_price1'] = $sqlval['price02'] * $rate1; 結果は、Unsupported operand types on・・(1307)というエラーが表示されました。 $rate1 = $objQuery->getCol( の行が1307に当たります。 以下を試みましたら、エラーもでず、割引金額がDBに格納され、商品登録画面にも表示されました。 $rate1 = 0.03; $sqlval['discount_price1'] = $sqlval['price02'] * $rate1; よって、以下の記述で$rate1に値(設定した割引率)が入っていないのかなと思っております。 $rate1 = $objQuery->getCol('rate', 'dtb_discount', 'discount_id = ?', array('1')); ()内の’を“に変更したり、ご指摘の通りrateをdiscount_price1としたり、array('1')をarray('discount_id')としたり、またはarray('discount_id' =='1')としたり、’rate’と’dtb_discount’の順序を逆にしたりと試しましておりますが、同じ結果になります。 どうしたら宜しいかご教授いただけませんでしょうか。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |