通过Joomla中的JInput获取动态发布字段/数据

时间:2014-01-31 09:09:22

标签: joomla joomla2.5 jinput

基本上,正如问题描述的那样,我需要在Joomla 2.5 / 3.xx中获取“POST”数据,我想通过JInput(该城镇的新谈话)获得它。

现在一切都很好,花花公子,直到我的进一步要求需要那些领域/数据是动态的,即。它(字段)的设计根据具体情况而改变,我无法知道字段是什么,我知道如何在核心php中做到这一点,但JInput的情况并非如此,所以就是这样,如何我这样做......

5 个答案:

答案 0 :(得分:3)

我知道这已经有一段时间了,但是我今天遇到了这个问题并找到了POST表格的Joomla解决方案。

$input = JFactory::getApplication()->input;
$fieldname = $input->post->get('fieldname');

这与使用$fieldname = $_POST['fieldname'];基本相同,只是您可以获得留在Joomla API中的额外好处。

答案 1 :(得分:2)

JInput不提供此类功能;所以你可能不得不使用$ _POST。

如果您可以使用数组(并使用JInput::getArray())或json编码对象(使用json_decode(JInput::getString())

,则可以绕过它

后者非常有效我在很多项目中都成功地使用了它。

答案 2 :(得分:1)

试试这个

    $post = JFactory::getApplication()->input->post;

答案 3 :(得分:1)

Joomla3提供两种功能:

JInputJSON(使用getRaw()方法扩展Jinput)

JResponseJson(将数据转换并返回为JSON)

请求数据:

var jsonString = '{"test":"1"}';
var data = { ajaxrequest : jsonString }

<强>的Joomla:

$jinput = JFactory::getApplication()->input;
$json = $jinput->getRaw('ajaxrequest'); // returns {\"test\":\"1\"}
$data = json_decode($json); // json decode, returns data object

// do stuff..

echo new JResponseJson($response);

答案 4 :(得分:1)

您可以为此使用Jinput

$jinput = JFactory::getApplication()->input;

从特定的超级全球获取价值

$foo = $jinput->get->get('varname', 'default_value', 'filter');
$foo = $jinput->post->get('varname', 'default_value', 'filter');
$foo = $jinput->server->get('varname', 'default_value', 'filter');

有关更多详细信息,请参阅此文档: https://docs.joomla.org/Retrieving_request_data_using_JInput