From 0b50f2afe6b216f13da552a0924e668658c1098c Mon Sep 17 00:00:00 2001 From: mrtwister76 Date: Thu, 1 Jan 2015 21:05:35 +0100 Subject: [PATCH] Update Link.php Meta keywords and title can be passed to the function as an array or string. This update ensures that the array is flatened to a single string prior to asking Tools:str2url to work with it. If Tools::str2url recieves an array it throws our lots of 'Warning' messages when PHP debugging is enabled in PS. --- cleanurls/override/classes/Link.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/cleanurls/override/classes/Link.php b/cleanurls/override/classes/Link.php index b9e8416..7f9f81e 100644 --- a/cleanurls/override/classes/Link.php +++ b/cleanurls/override/classes/Link.php @@ -29,8 +29,22 @@ public function getCategoryLink($category, $alias = null, $id_lang = null, $sele $params = array(); $params['id'] = $category->id; $params['rewrite'] = (!$alias) ? $category->link_rewrite : $alias; - $params['meta_keywords'] = Tools::str2url($category->meta_keywords); - $params['meta_title'] = Tools::str2url($category->meta_title); + + /* + /* keywords and metatitle can be supplied by PS as an array, if so make + /* sure we implode to a single string for further processing by str2url + */ + $tmpKwds = $category->meta_keywords; + if(is_array($tmpKwds)) { + $tmpKwds = implode(" ", $category->meta_keywords); + } + $params['meta_keywords'] = Tools::str2url($tmpKwds); + + $tmpTitle = $category->meta_title; + if(is_array($tmpTitle)) { + $tmpTitle = implode(" ", $category->meta_title); + } + $params['meta_title'] = Tools::str2url($tmpTitle); // Selected filters is used by the module blocklayered $selected_filters = is_null($selected_filters) ? '' : $selected_filters;