From d7d392fe95c9c7c6d3d4ed2fa806d213674345c4 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Tue, 7 Mar 2017 08:49:28 -0500 Subject: [PATCH] Fix issue #187 where $page->httpUrl didn't respect Template::slashUrls==0 setting when used in non-multi-language. --- wire/core/PageTraversal.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wire/core/PageTraversal.php b/wire/core/PageTraversal.php index b6633521..535321be 100644 --- a/wire/core/PageTraversal.php +++ b/wire/core/PageTraversal.php @@ -489,6 +489,7 @@ class PageTraversal { public function urlOptions(Page $page, $options = array()) { $config = $page->wire('config'); + $template = $page->template; $defaults = array( 'http' => is_bool($options) ? $options : false, @@ -499,10 +500,13 @@ class PageTraversal { 'language' => is_object($options) && $options instanceof Page && $options->className() === 'Language' ? $options : null, ); - if(empty($options)) return rtrim($config->urls->root, '/') . $page->path(); + if(empty($options)) { + $url = rtrim($config->urls->root, '/') . $page->path(); + if($template->slashUrls === 0 && $page->id > 1) $url = rtrim($url, '/'); + return $url; + } $options = is_array($options) ? array_merge($defaults, $options) : $defaults; - $template = $page->template; $sanitizer = $page->wire('sanitizer'); $language = null; $url = null;