From 76d3c4bffa8ab5c94ba672fd0f64b607e1439e7d Mon Sep 17 00:00:00 2001 From: Jsewill Date: Wed, 13 Nov 2024 14:40:28 -0600 Subject: [PATCH 1/2] Made the field word delimiter customizable in getrelated.class.php --- core/components/getrelated/model/getrelated.class.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/components/getrelated/model/getrelated.class.php b/core/components/getrelated/model/getrelated.class.php index 1d3d266..4512160 100644 --- a/core/components/getrelated/model/getrelated.class.php +++ b/core/components/getrelated/model/getrelated.class.php @@ -76,6 +76,9 @@ function __construct(modX &$modx,array $config = array()) { if (isset($a) && count($a) > 0) $this->config['parents'] = $a; $this->config['exclude'] = explode(',',$this->config['exclude']); + /* Delimiter used to explode each field */ + $this->config['wordDelimiter'] = isset($this->config['wordDelimiter']) ? $this->config['wordDelimiter'] : ' '; + $fields = explode(',',$this->config['fields']); foreach ($fields as $fld) { $tmp = explode(':',$fld); @@ -172,7 +175,13 @@ public function getMatchData() { /* Fetch resource data */ $resValues = $this->resource->get($this->fields); $resValues = (is_array($resValues)) ? implode(' ',$resValues) : $resValues; - $resValues = explode(' ',trim($resValues)); + if(!empty($this->config['wordDelimiter'])) { + $resValues = explode($this->config['wordDelimiter'],trim($resValues)); + } + else { + // Handle case where empty delimiter is passed. + $resValues = array(trim($resValues)); + } /* Combine the data and filter out duplicates, non-alphanum and stop words. */ $values = array_merge($values,$resValues); From e0bcfdfef618dc9f1028daf8ddf764c11d85d446 Mon Sep 17 00:00:00 2001 From: Jsewill Date: Wed, 13 Nov 2024 14:43:19 -0600 Subject: [PATCH 2/2] Added word delimiter property to getrelated.properties.php --- .../getrelated/elements/snippets/getrelated.properties.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/components/getrelated/elements/snippets/getrelated.properties.php b/core/components/getrelated/elements/snippets/getrelated.properties.php index 9e31faa..d651fab 100644 --- a/core/components/getrelated/elements/snippets/getrelated.properties.php +++ b/core/components/getrelated/elements/snippets/getrelated.properties.php @@ -24,6 +24,7 @@ return array( 'resource' => 'current', 'fields' => 'pagetitle:3,introtext:2', + 'wordDelimiter' => ' ', 'returnFields' => 'pagetitle,longtitle,introtext', 'returnTVs' => '',