2012-04-11 11 views
0

を呼び出して登録フォームにリストボックスを作成してください...Joomla! DB

mhy Joomla!の登録フォームにフォームを追加するために、必要に応じてregistration.xmlファイルやその他のファイルを変更しました。サイト。フィールドは現在すべてのテキストボックスであり、状態などの項目のリストボックスを作成したいと考えています。私はオプションと値を入力するのではなく、むしろデータベースのテーブルから取り出したいと思う。私registration.xmlファイル内

このコードは動作します:私のregistration.xmlファイル内

<field name="statelist2" type="list" 
default="" 
label="COM_USERS_REGISTER_STATE_LABEL" 
description="COM_USERS_REGISTER_STATE_DESC" 
message="COM_USERS_REGISTER_STATE_MESSAGE"> 
<option value="CT">CT</option> 
<option value="MA">MA</option> 
</field> 

このコードは動作しませんし、私はいくつかにロードするページを取得するために、DBへの呼び出しを削除してみましたPHP:

<field name="statelist" 
type="list" 
default="" 
label="COM_USERS_REGISTER_STATE_LABEL" 
description="COM_USERS_REGISTER_STATE_DESC" 
message="COM_USERS_REGISTER_STATE_MESSAGE"> 
<?php 
$x = "CT"; 
$z = "NY"; 
echo "<option value='" . $x. "'>" . $x . "</option>"; 
echo "<option value='" . $z. "'>" . $z . "</option>"; 
?> 
</field> 

私の質問(複数可): 1)私は、リストボックスを作成したり、潜在的な値を移入するいずれかのために、()どのようなファイル内のコードを入れなければならないのですか?

2)既存のJoomla!を活用するには、フレームワーク、私はloadFormDataとgetDataのためのいくつかの関数registration.phpファイルを参照してください - それがレンダリングされた後に登録フォームの項目を設定するためにそこにコードを置くことができますか?私はこのようなことを考えていたが、確信が持てなかった。

<?php 
    //init Joomla Framework 
    define('_JEXEC', 1); 
    define('DS', DIRECTORY_SEPARATOR); 
    define('JPATH_BASE', realpath(dirname(__FILE__).DS.'..')); 


    require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
    require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

    $mainframe = JFactory::getApplication('site'); 

    //DBQuery 
    $database =& JFactory::getDBO(); 
    $query = "SELECT * FROM #__tbl_State;"; 

$database->setQuery($query); 
    //$result = $database->query(); 
$items = ($items = $db->loadObjectList())?$items:array(); 
    //print_r($result); 
?> 

答えて

1

うわー、あなたはそれを頑張っているように見えます。あなたはあなたのために働くだろう、別のフィールドタイプを見つけるかもしれないと失敗) http://docs.joomla.org/SQL_form_field_type

;

すると、私は何かが欠けています、と私は頻繁に行う場合を除き、あなたは、単に仕事のための適切なツールを使用することができます。 http://docs.joomla.org/Standard_form_field_types

2
<field 
     name="STUDENT_COURSE" 
     type="sql" 
     multiple="false" 
     size="1" 
     label="Interested In Course" 
     description="COM_HELLOWORLD_FORM_DESC_UPDHELLOWORLD_GREETING" 
     query="select Course_Id, Course_Name from student_course" 
     key_field="Course_Id" 
     value_field="Course_Name" 
     default="0" 
required="true" 
     > 
    <option value="">Please Select Course</option> 
</field> 
関連する問題