Joomla: 将一个变量传递给getInput()

3
我正在构建一个后端组件(1.6 / 1.7 / 2.5),需要将另一个视图中的变量传递到新记录的字段中。变量传递工作正常。
我的问题是使用getInput()。
首先,不同的文档页面具有不同数量和格式的参数 - 令人困惑!例如: http://docs.joomla.org/API16:JForm/getInputgetInput($name, $group= '_default', $formControl= '_default', $groupControl= '_default', $value=null)

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

public function getInput (
    $name 
    $group=null 
    $value=null
)

问题:

我只需要将一个变量作为默认值传递,类似于:

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

上述代码会使输入字段消失。如果我去掉$value=$this->userID,输入字段就会显示出来,但显然没有任何默认值。我也尝试过:

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

同样的问题,输入字段消失了。我尝试了一些其他变化,但基本上如果我尝试将任何其他内容放在getInput()中,它都不起作用,也找不到任何好的可工作示例来使用这些其他参数。
我做错了什么?
谢谢!
1个回答

7
根据源代码,这是正确的API:
getInput($name, $group = null, $value = null)

getInput() 只是调用了 getField()

getField($name, $group = null, $value = null)

这意味着您应该使用以下方法来设置默认值:
echo $this->form->getInput('id', null, $this->userID ); // Returns the $field->input String

或者:

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

谢谢!你的解释非常好,对于我来说这些都是新的。 - Gisto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接