質問 > 管理機能 > 商品登録におけるドロップダウンリストの表示 |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
linkline |
投稿日時: 2009/5/12 17:43
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ありがとうございます。
商品登録の項目を追加する際にdtb_productsテーブルにshiftカラムを追加していますが、やはり問題ありでしょうか? >value に入る値は、商品IDです。 というところがものすごく気になります。 管理画面からみる分には商品IDは問題なく登録されているようです。。。 よろしくお願いします。 |
zibaj |
投稿日時: 2009/5/8 21:11
対応状況: −−−
|
半人前 登録日: 2009/5/8 居住地: 茨城県 投稿: 25 |
Re: 商品登録におけるドロップダウンリストの表示 <select name="shift">
<option value="">選択してください</option> <option value="FAT">FAT</option> <option value="CAT">CAT</option> <option value="6MT">6MT</option> <option value="5MT">5MT</option> <option value="4MT">4MT</option> <!--{html_options options=$arrShift selected=$arrForm.shift}--> </select> では、無理です。 value に 商品名 テーブル名:dtb_products の フィールド名:name が書かれています。 value に入る値は、商品IDです。 具体的には、 テーブル名:dtb_products の フィールド名:product_id を渡さなければなりません。 「<select name="shift">」も間違いです。 「<select name="product_id">」でなければなりません。引用:
|
linkline |
投稿日時: 2009/5/6 18:08
対応状況: 解決済
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 できました!!
なんとお礼を言ってよいものか・・・ まとめますと LC_Page_Admin_Products_Product_Exの /* 商品登録ページ表示用 */ function lfProductPage() { $objDb = new SC_Helper_DB_Ex(); $this->myOptions = array( ''=> '選択してください', 'FAT' => 'FAT', 'CAT' => 'CAT', '6MT' => '6MT', '5MT' => '5MT', '4MT' => '4MT' ); と書き込み、 // 入力エラーチェック function lfErrorCheck($array) { の部分に $objErr->doFunc(array("走行", "shift", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK")); product.tplに <!--{html_options name="Shift" options=$myOptions selected=$arrForm}--> のように追加しました。 これがエラーチェックだけでなく情報の伝達も隠し持たせていたんですね! Seasoft様、長々とお付き合いいただき、本当にありがとうございました。 引き続き勉強させていただきます! |
linkline |
投稿日時: 2009/5/6 17:56
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 >多分入力チェックなどと統合して、フォームの入力内容をエラーページに隠し情報で持たせるなどしています。
ありがとうございます。なるほど、そういう仕組みなんですね! ひょっとして$key1とかなんとか書いてあるのがその情報ですかね? しばらくその部分を探してみます。 |
seasoft |
投稿日時: 2009/5/6 17:34
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 > 選択した5MTをエラー時の再入力画面でも5MTと選択された状態にすることは不可能なのでしょうか?
無論、そのようにロジックを書けば可能です。 > 会員登録画面では住所や職業などがセレクトボックスとなっているかと思いますが、一度選択した県名は選択した状態で再入力画面が表示されています。 当該ロジックを確認していませんが、多分入力チェックなどと統合して、フォームの入力内容をエラーページに隠し情報で持たせるなどしています。
|
linkline |
投稿日時: 2009/5/6 17:26
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ありがとうございます。 そうなんですか。。。 やはり勉強不足ですね… 選択した5MTをエラー時の再入力画面でも5MTと選択された状態にすることは不可能なのでしょうか? 会員登録画面では住所や職業などがセレクトボックスとなっているかと思いますが、一度選択した県名は選択した状態で再入力画面が表示されています。 同じようにしようと思ったのですが、なかなかうまくいきません。 |
seasoft |
投稿日時: 2009/5/6 17:16
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 > たとえば最初はFATが表示されるようにしてあると思います。
現状では、常にFATが表示されるようにしてあると思います。 > ちなみに > $this->mySelect = 'FAT'; > を消してみたのですがそれでも同じです。 FATが選択肢の一番上だと、そうなると思います。 もしも、一番上に「未選択(選択してください)」などがあるとしたら、そちらが選択されるはずなのですが。
|
linkline |
投稿日時: 2009/5/6 17:07
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 たとえば最初はFATが表示されるようにしてあると思います。
で、登録するときにたとえば6MTを選択したとして、別の箇所で未入力があった場合などにエラー画面になり「商品名が入力されていません」などとでます。 その画面でシフト項目をみると、またFATに戻っています。 テキストボックスの場合は入力した文字列が表示されているのですが、セレクトボックスの場合エラーするたびにまた選択しなおさなければならない状態です。 ちなみに $this->mySelect = 'FAT'; を消してみたのですがそれでも同じです。 |
seasoft |
投稿日時: 2009/5/6 16:56
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 > しかし、エラーなどの場合に選択した項目の選択が解除されることは変わりません。
「解除」とは、具体的にはどのような動作を示しますか? 現状だと、常に 'FAT' が選択されるのかなと予測しているのですが。
|
linkline |
投稿日時: 2009/5/6 16:52
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ありがとうございます。
$this->mySelect = 'FAT'; だけでなく $this['myOptions'] = array( についても $this->myOptions = array( と変更したところ、正常にリストの中身が表示されるようになりました。 しかし、エラーなどの場合に選択した項目の選択が解除されることは変わりません。 下記にはらせていただきます。 /* 商品登録ページ表示用 */ function lfProductPage() { $objDb = new SC_Helper_DB_Ex(); $this->myOptions = array( 'FAT' => 'FAT', 'CAT' => 'CAT', '6MT' => '6MT', '5MT' => '5MT', '4MT' => '4MT' ); $this->mySelect = 'FAT'; // カテゴリの読込 list($this->arrCatVal, $this->arrCatOut) = $objDb->sfGetLevelCatList(false); if (isset($this->arrForm['category_id']) && !is_array($this->arrForm['category_id'])) { $this->arrForm['category_id'] = unserialize($this->arrForm['category_id']); } if($this->arrForm['status'] == "") { $this->arrForm['status'] = DEFAULT_PRODUCT_DISP; } if(isset($this->arrForm['product_flag']) && !is_array($this->arrForm['product_flag'])) { // 商品ステータスの分割読込 $this->arrForm['product_flag'] = SC_Utils_Ex::sfSplitCheckBoxes($this->arrForm['product_flag']); } // HIDDEN用に配列を渡す。 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objUpFile->getHiddenFileList()); // Form用配列を渡す。 $this->arrFile = $this->objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL); // アンカーを設定 if (isset($_POST['image_key']) && !empty($_POST['image_key'])) { $anchor_hash = "location.hash='#" . $_POST['image_key'] . "'"; } elseif (isset($_POST['anchor_key']) && !empty($_POST['anchor_key'])) { $anchor_hash = "location.hash='#" . $_POST['anchor_key'] . "'"; } else { $anchor_hash = ""; } $this->tpl_onload = "fnCheckSaleLimit('" . DISABLED_RGB . "'); fnCheckStockLimit('" . DISABLED_RGB . "'); fnMoveSelect('category_id_unselect', 'category_id');" . $anchor_hash; } |
(1) 2 3 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |