0

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 版。

4

3 回答 3

1

尝试这个

<?php 
$content = $this->epsiode;
for($i=0;$i<sizeof($content);$i++) { ?>
<input type="hidden" name="data[]" value="<?php echo $content[$i] ; ?>" />
<?php } ?>
于 2012-09-13T02:18:44.000 回答
1

不清楚隐藏字段数据包含什么,但如果你只是回显一个数组,最终结果并不让我感到惊讶。

我建议其中一种选择(可能有多种解决方案)。

序列化数组

    <input type="hidden" name="data" value="<?php echo serialize(htmlentities($this->epsiode)); ?>" />

在控制器上,确保对数据进行反序列化。

JSON格式

和上面的思路类似,只是用JSON格式来存储数组。检查json_encodejson_decode

于 2012-09-12T06:37:31.893 回答
0

在您正在使用的任何控制器中使用$requestData = JRequest::get('post');(或相应地)。这应该为您提供从您正在使用的表单发送的所有数据。确保这是您的表单发布到的控制器。Joomla 在从任务重定向到视图时有一些奇怪的行为,这可能会给人一种你在途中丢失数据的印象。postgetdata

使用 Joomla 3.1.1

于 2013-07-08T18:23:53.917 回答