From a1e410d763b2cc2d6dfbffc90c5268faf1594128 Mon Sep 17 00:00:00 2001 From: Remy Vaartjes Date: Fri, 4 Mar 2022 13:17:05 +0100 Subject: [PATCH] Only add suffix if it is not set to false Removing the urlSuffix in Page.php by setting it to false works in source, but javascript adds it again. Resulting in link with undefined at the end. **Setting URLSuffix to false, if page is published:** ``` public function getCMSFields() { $fields = parent::getCMSFields(); if( $this->isPublished() ) { $fields->FieldByName('Root.Main.URLSegment')->setURLSuffix(false); } } ``` See issue: #2723 https://github.com/silverstripe/silverstripe-cms/issues/2723 --- client/src/legacy/SiteTreeURLSegmentField.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/legacy/SiteTreeURLSegmentField.js b/client/src/legacy/SiteTreeURLSegmentField.js index 31d16b1faf..94724fe5a9 100644 --- a/client/src/legacy/SiteTreeURLSegmentField.js +++ b/client/src/legacy/SiteTreeURLSegmentField.js @@ -34,7 +34,7 @@ $.entwine('ss', function($) { } // Transfer current value to holder - this.find('.URL-link').attr('href', encodeURI(url + field.data('suffix'))).text(previewUrl); + this.find(".URL-link").attr("href", encodeURI(url + (field.data('suffix')?field.data('suffix'):''))).text(previewUrl); }, /**