// Fix dispatcher::createURL()

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11728 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-12-22 23:28:09 +00:00
parent 9cf866070d
commit a208d6b5cd
+10 -6
View File
@@ -497,18 +497,22 @@ class DispatcherCore
if ($this->use_routes && $use_routes) if ($this->use_routes && $use_routes)
{ {
$url = $route['rule']; $url = $route['rule'];
$add_param = array();
foreach ($params as $key => $value) foreach ($params as $key => $value)
{ {
if (!isset($route['keywords'][$key])) if (!isset($route['keywords'][$key]))
continue; $add_param[$key] = $value;
$data = $route['keywords'][$key];
if ($params[$key])
$replace = $route['keywords'][$key]['prepend'].$params[$key].$route['keywords'][$key]['append'];
else else
$replace = ''; {
$url = preg_replace('#\{([^{}]+:)?'.$key.'(:[^{}])?\}#', $replace, $url); if ($params[$key])
$replace = $route['keywords'][$key]['prepend'].$params[$key].$route['keywords'][$key]['append'];
else
$replace = '';
$url = preg_replace('#\{([^{}]+:)?'.$key.'(:[^{}])?\}#', $replace, $url);
}
} }
$url = preg_replace('#\{([^{}]+:)?[a-z0-9_]+?(:[^{}])?\}#', '', $url); $url = preg_replace('#\{([^{}]+:)?[a-z0-9_]+?(:[^{}])?\}#', '', $url);
$url .= '?'.http_build_query($add_param);
} }
// Build a classic url index.php?controller=foo&... // Build a classic url index.php?controller=foo&...
else else