Joomla:将变量传递给getInput()

Gis*_*sto 3 php joomla joomla1.6 joomla1.7 joomla2.5

我正在构建一个后端组件(1.6/1.7/2.5),我需要将另一个视图中的变量传递给新记录中的字段.变量传递工作正常.

我的问题是使用getInput().

从不同的doc页面开始,有不同的数量和参数格式 - 令人困惑!例如:

http://docs.joomla.org/API16:JForm/getInput:getInput($name, $group= '_default', $formControl= '_default', $groupControl= '_default', $value=null)

VS

http://docs.joomla.org/JForm::getInput/1.6:

public function getInput (
    $name 
    $group=null 
    $value=null
)
Run Code Online (Sandbox Code Playgroud)

问题:

我只需要将变量作为默认值传递,例如:

echo $this->form->getInput('id', $value=$this->userID );?>

上面的代码使输入字段消失.如果我拿出$value=$this->userID输入字段显示虽然显然没有任何默认值.我也尝试过:

$value=$this->userID;
echo $this->form->getInput('id', $value );
Run Code Online (Sandbox Code Playgroud)

同样的问题,输入字段消失了.我尝试了一些其他的变化,但基本上如果我尝试在getInput()中放置任何其他东西它不起作用,我也找不到任何关于如何使用这些其他参数的好工作示例.

我究竟做错了什么?

谢谢!

nic*_*ckb 7

根据消息来源,这是正确的API:

getInput($name, $group = null, $value = null)
Run Code Online (Sandbox Code Playgroud)

getInput()只是调用getField():

getField($name, $group = null, $value = null)
Run Code Online (Sandbox Code Playgroud)

这意味着您应该这样做以设置默认值:

echo $this->form->getInput('id', null, $this->userID ); // Returns the $field->input String
Run Code Online (Sandbox Code Playgroud)

要么:

$field = $this->form->getField('id', null, $this->userID ); // Returns the JFormField object
Run Code Online (Sandbox Code Playgroud)