Php 如何在Joomla中处理路由器文件中的任务和变量
我已经浏览了网页,并使用下面链接上的说明为我的组件组件列表准备了一个路由器文件 这是我的路由器文件代码Php 如何在Joomla中处理路由器文件中的任务和变量,php,joomla,Php,Joomla,我已经浏览了网页,并使用下面链接上的说明为我的组件组件列表准备了一个路由器文件 这是我的路由器文件代码 function listingBuildRoute(& $query) { $segments = array(); if(isset($query['view'])) { $segments[] = $query['view']; unset( $query['view']
function listingBuildRoute(& $query)
{
$segments = array();
if(isset($query['view']))
{
$segments[] = $query['view'];
unset( $query['view'] );
}
if(isset($query['task']))
{
$segments[] = $query['task'];
unset( $query['task'] );
};
if(isset($query['id']))
{
$segments[] = $query['id'];
unset( $query['id'] );
};
if(isset($query['type']))
{
$segments[] = $query['type'];
unset( $query['type'] );
};
return $segments;
}
function listingParseRoute($segments)
{
$vars = array();
switch($segments[0])
{
case 'accomodation':
$vars['view'] = 'accomodation';
$id = explode( ':', $segments[2] );
$vars['type'] = (int) $id[0];
break;
case 'entertainment':
$vars['view'] = 'entertainment';
$id = explode( ':', $segments[2] );
$vars['type'] = (int) $id[0];
break;
}
switch($segments[1])
{
case 'listing':
$vars['task'] = 'listing';
$vars['task'] =$segments[1];
break;
case 'details':
$vars['task'] = 'details';
$vars['task'] =$segments[1];
break;
}
return $vars;
}
它正在成功地准备URL,例如为任务列表和URL所属的变量类型准备URL
index.php/component/listing/entertainment/listing/11
但是它实际上并没有出现在任务列表中。它只是显示了视图娱乐。我认为解析路由函数调用不正确,但我没有找到正确的解决方案。请帮助我想你需要像使用$item-…>query['view']一样