我的控制器中有这样的代码
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
答案 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;