$result = $this->macros('seo', 'getRelCanonical', ['default', $variables['@pageId']]);
$canonicalLink = $result['@link'];
Возвращает ссылку на каноническую страницу.
XML-ответ UData
<udata xmlns:xlink="http://www.w3.org/TR/xlink" link="http://test.ru/alt/name/" module="seo" method="getRelCanonical" generation-time="0.026547"/>
Элементы и атрибуты
Пример xslt-шаблона для вывода многоуровневого меню
<xsl:if test="result/@pageId">
<xsl:variable name="relCanonical" select="document(concat('udata://seo/getRelCanonical/void/', result/@pageId))/udata/@link" />
<xsl:if test="$relCanonical">
<link rel="canonical">
<xsl:attribute name="href">
<xsl:value-of select="$relCanonical" />
</xsl:attribute>
</link>
</xsl:if>
</xsl:if>
Вывод канонической ссылки осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, в этом случае для вывода свойства будет использован шаблон по умолчанию — default.tpl
.
Пример вызова
%seo getRelCanonical('default', %pid%)%
Используемые блоки шаблона
template_block
Выводит обрамление (html тег link с соответствующим атрибутом rel) канонической ссылки.
- %link%
-
Выводит каоническую ссылку.
template_block_empty
Выводит заданный контент, если не удалось сформировать каноническую ссылку, например если макросу передан идентификатор несуществующей страницы.
Название
%seo getRelCanonical()% — Возвращает ссылку на каноническую страницу.