public function getSeo($article, array $fields)
{
$seo = array();
foreach ($fields as $field => $value) {
switch ($field) {
case 'name':
$seo[] = trim($article->getName());
break;
case 'keywords':
$seo[] = trim($article->getKeywords());
break;
case 'topics':
$articleTopics = \ArticleTopic::GetArticleTopics($article->getNumber());
if (is_array($articleTopics)) {
foreach ($articleTopics as $topic) {
$seo[] = trim($topic->getName($article->getLanguageId()));
}
}
break;
}
}
$seo = trim(implode('-', array_filter($seo)), '-');
$seo = preg_replace('/[\\\\,\\/\\.\\?"\\+&%:#]/', '', $seo);
if (strlen($seo) > 0) {
$seo = str_replace(' ', '-', $seo) . '.htm';
}
return $this->encode($seo);
}