Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 782 Bytes

10_CustomExtractor.md

File metadata and controls

36 lines (30 loc) · 782 Bytes

Custom Extractor

Integrating a custom extractor is very easy.

AppBundle\MetaData\Extractor\DescriptionExtractor:
    tags:
        - {name: seo.meta_data.extractor, identifier: my_object_description }
<?php

namespace AppBundle\MetaData\Extractor;

use SeoBundle\MetaData\Extractor\ExtractorInterface;
use SeoBundle\Model\SeoMetaDataInterface;

class DescriptionExtractor implements ExtractorInterface
{
    /**
     * {@inheritdoc}
     */
    public function supports($element)
    {
        return $element instanceof MyObject;
    }

    /**
     * {@inheritdoc}
     */
    public function updateMetaData($element, ?string $locale, SeoMetaDataInterface $seoMetadata)
    {
        $seoMetadata->setMetaDescription($element->getDescription());
    }
}