在view/default.php
:
<form action="<?php echo JRoute::_('index.php?option=com_scheduler&view=report');?>" method="post" name="rform">
<input type="submit" class="button" value="Generate Report" />
<input type="hidden" name="task" value="report.generate" />
<input type="hidden" name="data" value="<?php echo $this->epsiode; ?>" />
</form>
$this->episode
是数据数组。
在controllers/report.php
:
function generate(){
$items = JRequest::getVar('data',array(), 'post', 'array');
print_r($items);
}
输出
Array ( [0] => Array )
请建议我如何获取阵列数据。我正在使用Joomla 2.5.x版。
答案 0 :(得分:1)
不清楚隐藏字段数据包含的内容,但如果您只是回显一个数组,那么最终结果并不会让我感到惊讶。
我建议其中一个选项(可能有多种解决方案)。
<input type="hidden" name="data" value="<?php echo serialize(htmlentities($this->epsiode)); ?>" />
在控制器上,确保unserialize数据。
与上述类似的想法,只需使用JSON格式来存储数组。查看json_encode和json_decode
答案 1 :(得分:1)
试试这个
<?php
$content = $this->epsiode;
for($i=0;$i<sizeof($content);$i++) { ?>
<input type="hidden" name="data[]" value="<?php echo $content[$i] ; ?>" />
<?php } ?>
答案 2 :(得分:0)
在您使用的任何控制器中使用$requestData = JRequest::get('post');
(post
,get
或data
)。这应该为您提供从您正在使用的表单发送的所有数据。确保这是表单发布到的控制器。 Joomla有一些奇怪的行为,从任务重定向到视图,这可能会让你觉得你正在丢失数据。
使用Joomla 3.1.1