Может кто-нибудь сказать мне, как добавить сегмент в начало URL-адреса SEF, то есть:
http://somedomain.com/*SEGMENT*/task/id
*SEGMENT* — это просто статическая строка, предназначенная только для демонстрации и не берущаяся из запроса.
У меня есть очень простой 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;
}
Надеюсь, кто-то может помочь!