UPDATE generate canonical via MetaComponents

This replaces using the `MetaTags` method as replacing or removing a canonical requires string manipulation vs unsetting an array key, and is preferred.
This commit is contained in:
Nic Horstmeier 2021-04-05 19:52:35 -05:00
parent acbcf4660c
commit 85c3b1096b
No known key found for this signature in database
GPG Key ID: 1A9DCDAF97E29D8A

View File

@ -134,23 +134,22 @@ class VirtualPage extends Page
} }
/** /**
* For VirtualPage, add a canonical link tag linking to the original page * @return array
* See TRAC #6828 & http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394
*
* @param boolean $includeTitle Show default <title>-tag, set to false for custom templating
* @return string The XHTML metatags
*/ */
public function MetaTags($includeTitle = true) public function MetaComponents()
{ {
$tags = parent::MetaTags($includeTitle); $tags = parent::MetaComponents();
$copied = $this->CopyContentFrom(); $copied = $this->CopyContentFrom();
if ($copied && $copied->exists()) { if ($copied && $copied->exists()) {
$tags .= HTML::createTag('link', [ $tags['canonical'] = [
'attributes' => [
'rel' => 'canonical', 'rel' => 'canonical',
'href' => $copied->Link() 'content' => $copied->AbsoluteLink(),
]); ],
$tags .= "\n"; ];
} }
return $tags; return $tags;
} }