我正在使用 joomla 3.0 并在其中创建了一个组件。现在 SEF 网址存在一个问题。
在我的组件中,我实现了 MVC 结构。我的视图结构,例如视图/视图名称/tmpl/default.php
我的非 SEF 网址是:index.php?option=component Name&view=name of view&layout=default
当我尝试使用 router.php 文件创建 SEF url 时,它将创建 URL index.php/component/name of component/name of view/default?layout=default
但我想要像index.php/component/name of component/name of view/default这样的 url
我的 router.php 文件是:
function componentNameBuildRoute( &$query )
{
if(isset($query['view']))
{
$segments[] = $query['view'];
unset( $query['view'] );
}
if(isset($query['layout']))
{
$segments[] = $query['layout'];
};
}
function ComponentNameParseRoute($segments)
{
$vars = array();
$app =& JFactory::getApplication();
$menu =& $app->getMenu();
$item =& $menu->getActive();
// Count segments
$count = count( $segments );
if( $segments[0] == 'Profile')
{
$vars['view'] = 'Profile';
$vars['layout'] = 'default';
}
}
当我取消设置布局段时,它会给出如下网址:
index.php/组件/组件名称/视图名称/默认值
但它没有显示我的页面
在 joomla 2.5 中它可以正常工作,但在 joomla 3.0 中它不工作