当前位置: 首页 > 知识库问答 >
问题:

类型3 extbase forward,重定向操作

慕容修伟
2023-03-14

如何使用重定向或转发函数重定向到其他操作?我的解决方案似乎不起作用

public function listAction() {
    $products = $this->productRepository->findAll();
    $this->view->assign('products', $products);  
}

public function showAction() {
    $var = $this->request->getArgument('searchProduct');
    $foundProd = new \MyVendor\Inventory\Domain\Model\Product($var);      
    $prod = $this->productRepository->getProduct($foundProd);
    \TYPO3\CMS\Core\Utility\DebugUtility::debug($prod);

    $this->view->assign('test',$prod);
    $this->redirect('list',NULL,NULL,array(''));
     // $this->forward('list',NULL, NULL, $this->request->getArguments());
}

在视图中,我试图在同一页面中显示foundProduct(而不是通过创建新文件show.html)

 <f:widget.paginate objects="{products}" as="paginatedProducts" 
         configuration="{itemsPerPage: 10, insertAbove: 0, insertBelow: 1, maximumNumberOfLinks: 10}">
          <f:for each="{paginatedProducts}" as="productx"> 

                   <tr>    
                           <td align="top">{productx.uid}</td>
                           <td align="top">{productx.name}</td>
                           <td align="top"><f:format.crop maxCharacters="100">{productx.description}</f:format.crop></td>
                           <td align="top">{productx.quantity}</td>
                   </tr>
           </f:for>
                 </f:widget.paginate>
   </table>

</div>
<div class="col-sm-5">

<f:form method="post" controller="Inventory" action="show" name="searchProduct"  object="{searchProduct}">
<label> Product Name <span class="required"></span><br />
  <f:form.textfield property="name" /></label><br />
<f:form.submit class="submit" value="Submit"/>
<div>
<f:for each ="{test}" as ="p">
  <P>Numele produsului : {p.name}</P>
  <p>Descriere : {p.description}</p>
  <p>Cantitate :  {p.quantity} </p>
</f:for>
</div>
</div>

编辑:列表。html文件。基本上,当我单击Submit时,我希望在同一页面上显示从数据库中找到的产品。

这就是它的工作原理

共有1个答案

赫连法
2023-03-14

那样不行。如果使用重定向转发将重置变量分配。

您可以在listAction中分配多个属性:

public function listAction() {
    $products = $this->productRepository->findAll();

// from your showAction
    $var = $this->request->getArgument('searchProduct');
    $foundProd = new \MyVendor\Inventory\Domain\Model\Product($var);      
    $prod = $this->productRepository->getProduct($foundProd);


    $this->view->assignMultiple(
        array(
           'products' => $products,
           'test' => $prod
        )
    );  
}

这将填补你上面提到的模板

 类似资料:
  • 我是一个使用ASP.NET MVC5的新手。我需要对控制器进行Jquery调用,以返回一个传递单个参数的新视图。我可以看到很多类似MVC3和之前版本的例子,但却很难找到任何处理MVC4或MVC5并起作用的例子。我所要做的就是从输入元素获取一个值,将其传递给控制器ActionResult,然后打开一个新视图。 PageTwo是视图,Home是控制器。 我试过的代码(包括许多其他代码)通常在404:

  • 我在我的表格中使用了邪恶宝石。事情是,当用户上传照片,他们可以看到在同一页的<代码>..../步骤/图片。在图片页面,用户可以销毁图片。当用户点击时,我想让他们重定向到步骤/图片页面,但无论我尝试什么,我都得到错误。船和图片关联,但不嵌套路线。 这是我的图片控制器动作; def摧毁 结束 控制器; 编辑1: 编辑: 船步控制器

  • 我不知道在modelAndView中发布后如何重定向 我该怎么做?

  • 我有一个登录表单,在单击时调用以下函数。 然后使用重定向 但我面临的问题是,当我第一次登录时,重定向无法工作。它设置了所有的cookie等等,但是它从来没有将用户重定向到想要的目录。所以我被迫在浏览器搜索栏中输入我想要的路由来重定向自己。 这意味着,一旦我强迫自己进入想要的目录,如果我注销(基本上删除cookies),并尝试再次登录。这一次重定向起作用了。 在我用Ctrl+F5清除所有缓存之前,它

  • 当使用授权码许可类型请求授权时,客户端可以通过“redirect_uri”参数指定重定向URI。 如果攻击者能够伪造重定向URI的值,这可能导致授权服务器向攻击者控制的URI重定向带有授权码的资源所有者用户代理。 攻击者可以在合法客户端上创建一个帐户,并开始授权流程。当攻击者的用户代理被发送到授权服务器来许可访问权限时,攻击者抓取合法客户端提供的授权URI并用攻击者控制下的URI替换客户端的重定向

  • 问题内容: 我目前在 此URL实际上按照以下路由指示加载Module.js类: 这包含在index.js文件中定义的和元素中。 Module类具有和方法。这些设置了记录2的初始详细信息和装入信息。到目前为止一切正常。 现在,我的问题是,在Module.js的孙组件中,我使用以下Redirect重定向到另一个页面,例如第3页: 构造函数或componentWillMount无法运行,因此记录#3无法