質問 > 管理機能 > 商品登録におけるドロップダウンリストの表示 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
linkline |
投稿日時: 2009/5/5 16:31
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
商品登録におけるドロップダウンリストの表示 新しく商品登録項目を追加し、その項目をセレクトボックスで選択した場合に、未入力時などのエラー表示画面で、選択したリストの値が解除されて未選択の状態にもどってしまいます。
Smarty の分野なのか Htmlの分野なのかわかりませんが、解決できなくて困っています。 初歩的なことで恐縮ですがお力添えをお願いいたします。 他の箇所を参考に見よう見まねで下記ような感じでやってみたのですが… <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> |
seasoft |
投稿日時: 2009/5/5 18:33
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 > Smarty の分野なのか Htmlの分野なのかわかりませんが、解決できなくて困っています。
Smarty ですね。 http://www.smarty.net/manual/ja/language.function.html.options.php 通常、<!--{html_options}--> を使用する場合、<option> は書きません。EC-CUBE では <option value="">選択してください</option> などと書かれている箇所もありますが、本来これも望ましくないです。まぁ、その部分は放置しても良いと思いますが、少なくともご自信で <option> を書くのは避けたほうが良いと思います。
|
linkline |
投稿日時: 2009/5/6 11:00
対応状況: 確認中
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ありがとうございます。
教えていただいたページを拝見し、<option>を使わない方法でいろいろと試しております。 が、どこにいれればいいのかわからずにまったくうまくいきません。 $smarty->assign('myOptions', array( FAT => 'FAT', CAT => 'CAT', 6MT => '6MT', 5MT => '5MT', 4MT => '4MT') ); $smarty->assign('mySelect', FAT); をLC_Page_Admin_Products_Product_Exの適当な場所に書き <!--{html_options name="shift" options=$arrShift selected=$arrForm.shift}--> をProduct.tpl に書き入れました。 Parse error: parse error, expecting `T_FUNCTION' in C:\apachfriends\htdocs\eccube\data\class_extends\page_extends\admin\products\LC_Page_Admin_Products_Product_Ex.php on line 515 というエラーが出ます。 というか私はまったくPHPを理解していません。 恥を忍んでお尋ねしますがどこに書けばよいのでしょうか? 申し訳ありませんがよろしくお願いいたします。 ちなみに書き忘れてましたが環境は + Apache 2.2.11 + MySQL 5.1.33 (Community Server) + PHP 5.2.9 + PEAR (PHP 4 wird nicht mehr unterst・zt) + ECCUBE2.34 です。 |
seasoft |
投稿日時: 2009/5/6 11:31
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示
$smarty が怪しい予感がします。 しかし、EC-CUBE の場合、Page クラス自身を割り当てる設計なので、$this の配列要素として追加するほうが早いです。 (動作未確認)
これは構文エラーかと。「FAT」は文字列なら、「'」で囲わないと。
前記の流れからすると
> というか私はまったくPHPを理解していません。 ならば、PHP を勉強すれば良いと思います。EC-CUBE をご自身で運用するなら、必須です。
|
linkline |
投稿日時: 2009/5/6 14:38
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 詳細な回答ありがとうございます。
>ならば、PHP を勉強すれば良いと思います。EC-CUBE をご自身で運用するなら、必須です。 そうですよね…日本にいるのに日本語知らないようなもんですよね。 勉強しようとは思っているんですが、説明してある語句の意味がわからなくて、その意味を調べようと思ったらまたそれを説明してある意味がわからないんです。。。粘り強く調べていくほかはありませんよね。 ところで、 $this['myOptions'] = array( FAT => 'FAT', CAT => 'CAT', 6MT => '6MT', 5MT => '5MT', 4MT => '4MT' ); $smarty->assign('mySelect', 'FAT'); でも同じエラーになります。 エラー表示の行数から $this['myOptions'] = array( がおかしいのは間違いないとおもいますが、この'myOptions'というのはどこかで何か定義づけのようなものをしておかないといけないんでしょうか? myOptionsは参考のページにのっけてあったものをそのまま引用してしまったので。 たとえば前レスで間違って$arrShiftとか$arrForm とか書きましたがこれも他の箇所に$arrJobとか$arrFormとか書いてあったのをまねてみたのですが、意味自体はまったくわかっていません。 大変恐縮ですがよろしくお願いいたします。 |
seasoft |
投稿日時: 2009/5/6 14:47
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 > でも同じエラーになります。
構文を誤っていました。上記書き込みを修正しておきました。 > $smarty->assign('mySelect', 'FAT'); につきましては、クォートで囲う以外に、前者と同様の書き換えが必要です。 ご自身で解決されるほうが良いと思いますので、あえて詳細は書きません。
|
seasoft |
投稿日時: 2009/5/6 14:50
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示
http://jp2.php.net/manual/ja/function.array.php 紛らわしいので、上記書き込みも修正しておきます。
|
linkline |
投稿日時: 2009/5/6 16:09
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ためになるご指摘を頂き本当にありがとうございます。 書き込む位置が間違っていたのかもしれません。 書き込む位置を修正したところエラーは解消されました。 これまでLC_Page_Admin_Products_Product_Exの /* 商品登録ページ表示用 */ という部分に書いていたのですが、 修正した位置は /* 商品の登録 */ function lfRegistProduct($arrList) { $objQuery = new SC_Query(); $objDb = new SC_Helper_DB_Ex(); $objQuery->begin(); の下に $this['myOptions'] = array( 'FAT' => 'FAT', 'CAT' => 'CAT', '6MT' => '6MT', '5MT' => '5MT', '4MT' => '4MT' ); $this['mySelect'] = 'FAT'; と書き込みました。 が、今度はエラーは解消されたんですがドロップダウンリストの中身が表示されない状態になりました。 位置がこれで正しいのかもわかりませんし、$this['mySelect'] = 'FAT';が正しいのかどうかもわかりません。。。 |
seasoft |
投稿日時: 2009/5/6 16:16
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録におけるドロップダウンリストの表示 位置は、少々微妙な線です。ソースを確認していないので断言はできませんが、当初の方が正しい方向性の気はします。
とりあえず、追記箇所は下記の通りが適切だと思います。 $this['****'] = ... ↓ $this->**** = ...
|
linkline |
投稿日時: 2009/5/6 16:31
対応状況: −−−
|
半人前 登録日: 2009/5/4 居住地: 投稿: 22 |
Re: 商品登録におけるドロップダウンリストの表示 ご教授ありがとうございます。
教えていただいたように変更し、元の位置に戻してみました。 やはりエラーになるんですが、 いつ変わったのか、エラーの内容が変わっているのに気づいていませんでした。 Fatal error: Cannot use object of type LC_Page_Admin_Products_Product_Ex as array in 〜 との事です。 arrayを使うことができないということなのでしょうか? |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |