0

我的控制器中有这样的代码

class MyController extends MyBaseController {

 function redirectToCart() {
    $link = JRoute::_('index.php?option=com_foo&view=cart');
    $this->setRedirect($link);
  }

}

每次单击此按钮时,我还在菜单名称“查看购物车”中创建了一个与我的查看购物车相关联的菜单,domainname.com/view-cart但是当在 mvc 中使用重定向时,网址是domainname.com/index.php?option=com_foo&view=cart

如何在 mvc 中创建与前端链接一起使用的重定向,或者至少创建一个用户友好的 url

4

1 回答 1

0

您需要传入Itemidurl 来创建所需的 seo:

$link = JRoute::_('index.php?option=com_foo&view=cart&Itemid=your_itemid');

您应该关闭 SEO 并查看Itemid菜单项中的内容,然后在您的 url 中使用它。

或者您可以像这样动态地执行此操作:

$itemid = JRequest::getint( 'Itemid' );

然后$link会看起来:

$link = JRoute::_('index.php?option=com_foo&view=cart&Itemid='.$itemid);

或者您可以从您想要的任何菜单项中获取它,如下所示:

$item = JFactory::getApplication()->getMenu()->getItem( $menuitem );//$menuitem is the id of menu
$itemid = $item->id;
于 2013-10-04T07:20:19.113 回答