if (!function_exists('_suggest_url')) { function _suggest_url($action, $url) { $actionArr = explode('/', $action); $params = array_keys($url['vars']); $urlDepr1Params = []; $urlDepr2Params = []; if (!empty($params)) { foreach ($params as $param) { if(empty($url['vars'][$param]['require'])){ array_push($urlDepr1Params, "[:$param]"); }else{ array_push($urlDepr1Params, ":$param"); } array_push($urlDepr2Params, htmlspecialchars('<') . $param . htmlspecialchars('>')); } } if ($actionArr[2] == 'index') { $actionArr[1] = cmf_parse_name($actionArr[1]); return empty($params) ? $actionArr[1].'$' : ($actionArr[1] . '/' . implode('/', $urlDepr1Params) /*. ' ' . $actionArr[1] . '-' . implode('-', $urlDepr2Params)*/); } else { $actionArr[2] = cmf_parse_name($actionArr[2]); return empty($params) ? $actionArr[2].'$' : ($actionArr[2] . '/' . implode('/', $urlDepr1Params) /*. ' ' . $actionArr[2] . '-' . implode('-', $urlDepr2Params)*/); } } } if (!function_exists('_url_vars')) { function _url_vars($url) { if (!empty($url['vars'])) { return implode(',', array_keys($url['vars'])); } return ''; } }

| URL | {:lang('Name')} | {:lang('Route Parameters')} | {:lang('Route Suggestion')}
--- | --- | --- | --- | ---
$suggestUrl=_suggest_url($action,$vo);
| {$action} | {$vo.name} | {:_url_vars($vo)} | {$suggestUrl}