请有人告诉我如何在SEF URL的开头添加一个段,即:
http://somedomain.com/*SEGMENT*/task/id
*段*只是一个静态字符串,只是为了显示,而不是从查询中提取。
我的组件中有一个非常基本的router.php:
function MyComponentBuildRoute(&$query)
{
$segments = array();
if (isset($query['task'])) {
$segments[] = $query['task'];
unset($query['task']);
}
if (isset($query['id'])) {
$segments[] = $query['id'];
unset($query['id']);
}
return $segments;
}
function MyComponentParseRoute($segments)
{
$vars = array();
$count = count($segments);
if ($count) {
$count--;
$segment = array_shift($segments);
if (is_numeric($segment)) {
$vars['id'] = $segment;
} else {
$vars['task'] = $segment;
}
}
if ($count) {
$count--;
$segment = array_shift($segments) ;
if (is_numeric($segment)) {
$vars['id'] = $segment;
}
}
return $vars;
}希望有人能帮忙!
发布于 2013-02-06 07:59:13
为组件中的视图创建菜单项。如果您的段需要是/foo/,那么只需确保菜单项的别名是"foo“。如果需要斜杠,即/foo/bar/,则需要将两个菜单项嵌套为"foo“和"bar”。这将告诉Joomla如何处理它。
https://stackoverflow.com/questions/14707582
复制相似问题