我有一个页面: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')); ?>
答案 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()); ?>