joomla mvc组件重定向与友好的URL

时间:2013-10-04 07:08:21

标签: php joomla friendly-url

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

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

1 个答案:

答案 0 :(得分:0)

您需要在网址中传递Itemid以创建所需的搜索引擎优化:

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

您应该关闭搜索引擎优化并查看菜单项中Itemid的内容,并将其用于您的网址。

或者你可以动态地这样做:

$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;