1

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

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

我有一个link_to()包含以下内容:

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

我正在传递模板的 id。

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

编辑:

行动:

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 
}

模板:

viewTemplateSuccess.php

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

模板复制成功.php

<?php echo "ID". $id;?> --> doesn't return the passed id
4

2 回答 2

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')); ?>
于 2012-11-15T16:00:54.803 回答
0

link_to 函数末尾的数组会更改 HTML 属性,例如 class 和 id。它不会正常传递 url 参数。这将起作用:

<?php echo link_to('Copy', '@copy_template?id='. $template->getId(), array()); ?>
于 2012-11-15T16:13:41.353 回答