Перейти к основному содержимому

Расширение HeadMeta

Компонент HeadMeta расширяет Placeholder

HTML-элемент <meta> используется для предоставления метаинформации о вашем HTML-документе — обычно это ключевые слова, набор символов документа, директивы кэширования и т. д. Мета-теги могут быть либо типа http-equiv, либо типа name, они должны содержать атрибут content и могут также иметь модификаторы lang или scheme.

Помощник HeadMeta поддерживает следующие методы для установки и добавления мета-тегов:

  • appendName($keyValue, $content, $conditionalName)
  • offsetSetName($index, $keyValue, $content, $conditionalName)
  • prependName($keyValue, $content, $conditionalName)
  • setName($keyValue, $content, $modifiers)
  • appendHttpEquiv($keyValue, $content, $conditionalHttpEquiv)
  • offsetSetHttpEquiv($index, $keyValue, $content, $conditionalHttpEquiv)
  • prependHttpEquiv($keyValue, $content, $conditionalHttpEquiv)
  • setHttpEquiv($keyValue, $content, $modifiers)
  • appendProperty($property, $content, $modifiers)
  • offsetSetProperty($index, $property, $content, $modifiers)
  • prependProperty($property, $content, $modifiers)
  • setProperty($property, $content, $modifiers)

Элемент $keyValue используется для определения значения для ключа name или http-equiv; $content — это значение для ключа content, а $modifiers — это необязательный ассоциативный массив, который может содержать ключи для lang и/или scheme.

You may also set meta tags using the headMeta() helper method, which has the following signature: headMeta($content, $keyValue, $keyType = 'name', $modifiers = [], $placement = 'APPEND').

Вы также можете установить мета-теги, используя метод помощника headMeta(), который имеет следующую сигнатуру: headMeta($content, $keyValue, $keyType = 'name', $modifiers = [], $placement = 'APPEND').

$keyValue — это содержимое для ключа, указанного в $keyType, который должен быть либо name, либо http-equiv. $placement может принимать значения SET (перезаписывает все ранее сохраненные значения), APPEND (добавляет в конец стека) или PREPEND (добавляет в начало стека).

HeadMeta переопределяет каждый из методов append(), offsetSet(), prepend() и set(), чтобы обеспечить использование специальных методов, перечисленных выше. Внутри он хранит каждый элемент как токен stdClass, который затем сериализует с помощью метода itemToString(). Это позволяет вам выполнять проверки по элементам в стеке и, при необходимости, изменять эти элементы, просто модифицируя возвращаемый объект.

Основное использование

Вы можете задать новый мета-тег в любое время. Обычно вы указываете правила кэширования на стороне клиента или ключевые слова для SEO.

Например, если вы хотите указать SEO-описание, вы создадите мета-тег с именем 'keywords' и содержимым, представляющим ключевые слова, которые вы хотите ассоциировать с вашей страницей:

{# установка мета-описания #}  
{% do pimcore_head_meta().appendName('description', 'Мое SEO-описание для моей отличной страницы') %}

{# установка тегов Open Graph #}
{% do pimcore_head_meta().setProperty('og:title', 'название моей статьи') %}
{% do pimcore_head_meta().setProperty('og:type', 'article') %}

{# установка типа содержимого и набора символов #}
{% do pimcore_head_meta().appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8').appendHttpEquiv('Content-Language', 'en-US') %}

Когда вы будете готовы разместить ваши мета-теги в шаблоне, просто выведите помощник:

{{ pimcore_head_meta() }}  


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.