Zend Framework:从视图访问参数/变量并在控制器中使用它们

时间:2011-10-07 11:55:50

标签: zend-framework

我的视图中有一些变量是超链接:

<td><a href=""><?php echo $this->data1;?></a></td>
<td><a href=""><?php echo $this->data2;?></a></td>

点击后,我希望这些变量可以在控制器中访问。

我希望我足够清楚。

2 个答案:

答案 0 :(得分:2)

您的<a></a>标记之间的内容是链接文字。所以说这个数据是没有意义的。它只是一个强大的用作链接文本。

在您开始使用像Zend Framework这样的框架之前,我建议您学习/阅读PHP。

您要求的通常是通过$ _POST数组或$ _GET数组。

可以通过表单提交填充post数组,可以通过querystring参数填充get数组。

你想要的是一个带有这样的参数的链接:

<a href="your/link/url?parameter=value&anotherParameter=anotherValue">Linktext</a>

这将填充$ _GET数组,您可以使用以下命令检索这两个参数:

$parameter       = $_GET['parameter'];
$aotherParameter = $_GET['anotherParameter'];

在Zend Framework中,你可以通过url view helper和其他便利功能来做同样的事情:

<?php
   $targetUrl = $this->url(array(
       'controller'       => 'mycontroller',
       'action'           => 'my-action',
       'parameter'        => 'value',
       'anotherParameter' => 'anotherValue'), null, TRUE);
?>

<a href="<?php echo $targetUrl; ?>">Linktext</a>

在操作中,您可以从响应对象中获取参数,如下所示:

$parameter = $this->getRequest->getParam('parameter');

这基本上是一样的,$ _GET数组的处理只是包装。

答案 1 :(得分:-1)

这是一种方式,

如果我理解,你需要将该变量传递给$ _REQUEST,例如你可以:

 <a href="<?= $this->baseUrl(); ?>?my_variable=<?= $this->data1; ?>">
       <?php echo $this->data1;?>
 </a>

并在控制器中获取该变量

 $this->getRequest()->getParam('my_variable');