我想升级我的一个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中看到的值(如果未设置默认值,则不会打印任何内容)。
湾将值传递给外部.php文件,存储在会话中,并在文章中回显会话值,但再次清空。
也许我会通过爆炸$ _SERVER [“REQUEST_URI”]来强制获取GET值,但是在我发现所需过程可能出错之前我无法入睡。
任何人都可以提供帮助吗?
更新:可能很重要 - 我使用K2插件。
答案 0 :(得分:1)
到目前为止,我可以弄清楚以下内容:
这是一个特例。在我的本地服务器上,代码在正常的joomla文章和K2组件文章中都可以正常工作。
在我的网站上,代码也适用于普通的joomla文章,所以它肯定是K2 settigns问题。
这个问题有可能与K2高级SEF设置有关(指定K2项目的网址),但事实并非如此。问题出现在我的网站上,所以我在本地主机版本上使用了网站版本的SEF设置,我收到的价值很好。 ==不是K2高级SEF设置问题。
这是我的问题的答案:“应该找到导致问题的K2设置”
更新。解决方案:在全局配置中关闭缓存,因此页面不会从缓存加载。在缓存中没有存储给定的值 - 显而易见。