Joomla:将变量传递给getInput()

时间:2012-05-08 03:36:30

标签: php joomla joomla1.7 joomla1.6 joomla2.5

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

我的问题是使用getInput()。

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

http://docs.joomla.org/API16:JForm/getInputgetInput($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
)

问题:

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

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

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

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

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

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:7)

根据the source,这是正确的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