【发布时间】:2014-01-08 13:22:27
【问题描述】:
我想升级我的一个 joomla 2.5 插件(自行开发)。这是一项复杂的任务,但这是我无法解决的具体问题。我想在我的文章中放置一个带有提交按钮的输入字段(完成),提交后我想得到它。就这么简单。
代码大纲如下:
形式:
<form action="" method="post">
<input type="text" name="info">
<input type="submit" value="ok">
</form>
过程:
$jinput = JFactory::getApplication()->input;
$foo = $jinput->get('info', '444');
print_r($foo);
基本上它应该可以工作,但不知何故我没有得到这个值,总是接收默认值“444”。如果我将操作更改为外部 php 文件,并以 php 方式处理,它可以工作。
到目前为止我检查的内容:
一个。将表单方法更改为 GET。结果:需要的值正确显示在文章的 URL 中,但仍然打印默认值 '444' 而不是我在 URL 中看到的值(如果未设置默认值,则不会打印任何内容)。
b.将值传递给外部 .php 文件,存储在 session 中,并在文章中回显 session 值,但再次为空。
也许我会通过爆炸 $_SERVER["REQUEST_URI"] 来强制获取 GET 值,但我无法入睡,直到我发现所需进程可能有什么问题。
有人可以帮忙吗?
更新:也许很重要 - 我使用 K2 插件。
【问题讨论】:
-
有趣。您可以
print_r($jinput)甚至JFactory::getApplication()->input->post并检查那里的值吗? -
我怀疑它与触发插件的事件的时间有关。也许在部署插件之后请求输入或输出......
-
你能检查一下 $_POST['info'] 是否有效吗?
-
触发器是onK2beforeDisplay。我尝试了 onK2PrepareContent 但没有。
-
德米特里:值为空。