繁体   English   中英

如何在Zend Framework中将值从视图传递到控制器?

[英]How can I pass a value from view to controller in Zend Framework?

我知道,如果我将其放在链接上 ,然后点击该链接:

array('controller'=>'challenge','action'=>'evaluateChallenge','codTeam'=>$d["cod_challenge_team"]);

如果在控制器上,我会执行以下操作:

$values = $this->_request->getParams();
 $teamVo->setCodTeam($values['codTeam']);

我将获得理想的价值。

我想做同样的事情,但是,无需用户交互。 我打算每次在视图侧循环谷值时都将一个值传递给评估挑战。

这是最愚蠢的问题之一,但无疑可以解决这里的损失。

我可以帮忙吗?

或者至少告诉我我说错了。 :)

:::::::::::::::::::::::::::::::::::: UPDATE :::::::::::::::: :::::::::::::::::::::::

我想显示与给定团队相关的数据库记录元素列表。 这样我就可以:

小组A-cod_team-挑战A-参与者ABC-积分XXX

团队B-cod_team-挑战A-参与者ABC-积分XXX

等等...

在我看来,对此的代码翻译是这样的:

foreach ($challenge as $d) { 
echo $d['challengeName'];
echo $d['participants'];
echo $d['points'];
}

一切都很好,很清楚。

现在,我需要在此列表中添加其他信息,以便可以进行如下操作:

小组A-鳕鱼队-挑战A-参与者ABC-积分XXX- FILESATTACHED_NEW_INFORMATION

团队B-鳕鱼队-挑战A-参与者ABC-积分XXX- FILESATTACHED_NEW_INFORMATION

等等...

此新信息应在视图帮助器上制定。 好。 我将弄清楚如何做到这一点。

但是,然后,我需要在视图上调用该助手-对吗? 在同一视图上,foreach在哪里。 但是,我将需要将FilesAttached与foreach($ challenge为$ d)相关联,对吗? -或者还有其他方法吗?

如果没有其他解决方法: 我们如何将来自帮助程序的数据与通过foreach在视图上已经存在的数据相关联?

再次非常感谢,MEM

我想做同样的事情,但是,无需用户交互。 我打算每次在视图侧循环谷值时都将一个值传递给评估挑战。

您可以使用Action ViewHelper做到这一点,但这将为每次调用创建一个新的调度循环。 这将严重减慢您的应用程序的速度,这就是为什么应避免使用它的原因 辅助程序也可能在ZF2中被删除。

更好的方法是使用可以传递必需参数的ViewHelper。 然后,该视图助手将使用传递的参数查询适当的模型,并返回所需的值。 只要这不会更改Model状态, 就可以直接从View中获取数据

RE更新

这没有魔术:

foreach ($challenge as $d) { 
    echo $d['challengeName'],
         $d['participants'],
         $d['points'];

    $results = $this->evaluateChallenge($d['cod_challenge_team']);
    // now do something with the results
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM