link_to和传递变量

时间:2012-11-15 15:58:07

标签: php symfony-1.4

我有一个页面:my-account/my-templates/view/1 - 只使用id的{​​{1}}字段来显示项目

我想要做的是创建一个复制操作,只需获取此项目中的所有值并创建一个新项目

我有1,其中包含以下内容:

link_to()

我正在传递模板的ID。

我可以在复制操作中访问此ID吗?

编辑:

操作:

<?php echo link_to('Copy', '@copy_template', array('id' => $template->getId())); ?>

模板:

viewTemplateSuccess.php

public function executeViewTemplate(sfWebRequest $request)
{
  $this->template = Doctrine_Core::getTable('UserTemplate')->getUserTemplate($request->getParameter('id'));
}

public function executeTemplateCopy(sfWebRequest $request)
{
   $this->id = $request->getParameter('id');
   // get the passed template id 
}

templateCopySuccess.php

<?php echo link_to('Copy', '@copy_template', array('id' => $sf_request->getParameter('id'), 'class'=>'button green')); ?>

2 个答案:

答案 0 :(得分:1)

在操作中,您可以使用以下方法检索参数:

$id = $request->getParameter('id');

例如,如果您有此操作:

public function executeCopyTemplate(sfWebRequest $request)
{
  $id = $request->getParameter('id');
}

从模板中:

<?php $id = $sf_request->getParameter('id') ?>

在你的情况下:

<?php echo link_to('Copy', '@copy_template?id='.$sf_request->getParameter('id')); ?>

答案 1 :(得分:0)

link_to函数末尾的数组改变了类和id之类的HTML属性。它通常不会传递url参数。这将有效:

<?php echo link_to('Copy', '@copy_template?id='. $template->getId(), array()); ?>