我的视图中有一些变量是超链接:
<td><a href=""><?php echo $this->data1;?></a></td>
<td><a href=""><?php echo $this->data2;?></a></td>
点击后,我希望这些变量可以在控制器中访问。
我希望我足够清楚。
答案 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');