0

在此先感谢您的帮助...

我已根据需要修改了registration.xml 文件和其他文件,以便在mhy Joomla 上的注册表单中添加其他表单!地点。这些字段目前都是文本框,我想为状态等项目创建列表框。我不想输入选项和值,而是从数据库中的表中提取。

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

我的registration.xml文件中的这段代码不起作用,我尝试删除对数据库的调用以使页面加载一些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! 框架,我在 registration.php 文件中看到了一些用于 loadFormData 和 getData 的函数 - 我可以在其中放置代码以在呈现后填充注册表单中的项目吗?我在想这样的事情,但不确定。

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

2 回答 2

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>
于 2012-08-11T11:35:06.073 回答
1

哇,在我看来,你正在努力工作。

除非我遗漏了什么,而且我经常这样做,否则您可以简单地使用正确的工具来完成这项工作;) http://docs.joomla.org/SQL_form_field_type

如果您无法找到适合您的其他字段类型。 http://docs.joomla.org/Standard_form_field_types

于 2012-04-14T00:14:31.213 回答