通过Joomla中的Jinput获取动态的邮政字段/数据



基本上如问题所述,我需要在Joomla 2.5/3.xx中获取"发布"数据,并且我希望通过Jinput(城镇的新谈话)。

现在一切都很好,花花公子,直到我的进一步要求需要动态的字段/数据为止。它(字段)的设计是根据情况而改变的,我无法知道该领域将是什么,我知道如何在核心PHP中做到这一点,但是Jinput并非如此我要做...

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

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

这与使用$fieldname = $_POST['fieldname'];基本相同,只是您获得了在Joomla的API中获得的附加好处。

jinput不提供此类功能;因此,您可能必须使用$ _post。

,如果您可以将输入的形式为数组(并使用JInput::getArray())或JSON编码对象(您使用json_decode(JInput::getString())

,则可以解决它。

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

尝试此

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

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

您可以使用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

最新更新