Generate a page URL in a specific locale
7
Use the rewriteTranslatablePageUrl
method to get a page URL in a specific locale.
$locale = 'de';
$pageName = 'target-cms-page';
// If your model slug is translatable use
// $params = ['slug' => $model->locale($locale)->slug];
$params = ['slug' => 'your-model-slug'];
$theme = Theme::getActiveThemeCode();
$cmsPage = Page::loadCached($theme, $pageName);
$cmsPage->rewriteTranslatablePageUrl($locale);
$router = new \October\Rain\Router\Router;
$localeUrl = $router->urlFromPattern($cmsPage->url, $params);
// If you need the locale prefix use
// $localeUrl = $router->urlFromPattern(sprintf("/%s%s", $locale, $page->url), $params);
echo url($localeUrl);
There are no comments yet
Be the first one to comment