2012-04-11 4 views
0
anrufen

Vielen Dank im Voraus für Ihre Hilfe ...Joomla! Füllen Sie das Listenfeld im Anmeldeformular aus, indem Sie die DB

Ich habe die Datei registration.xml und andere Dateien nach Bedarf geändert, um zusätzliche Formulare zu meinem Registrierungsformular auf mhy Joomla! Seite? ˅. Die Felder sind derzeit alle Textfelder und ich möchte Listenfelder für Elemente wie Staat erstellen. Ich möchte die Optionen und Werte nicht eingeben, sondern aus einer Tabelle in der Datenbank ziehen.

Dieser Code in meiner registration.xml Datei funktioniert:

<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> 

Dieser Code in meiner registration.xml Datei mit einigen nicht funktioniert und ich versuchte, den Anruf an die DB zu entfernen, um nur die Seite zu bekommen laden 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> 

Meine Frage (n): 1) Wo muß ich den Code setzen (in welcher Datei), um entweder das Listenfeld zu erstellen oder mit potentiellen Werten füllen?

2) Um die Vorteile der bestehenden Joomla! Rahmen, sehe ich in den registration.php-Dateien einige Funktionen für loadFormData und getData - kann ich Code eingeben, um Elemente in das Registrierungsformular zu füllen, nachdem es gerendert wurde? Ich dachte so etwas, aber nicht sicher.

<?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); 
?> 

Antwort

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> 
Verwandte Themen