This Yii2 component helps to organize page title, meta tags and `og` and `twitter` open graph tags in with a fiew lines of code.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
README.md
composer.json
phpunit.xml.dist

README.md

yii2-metamaster

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

Универсальный компонент организующий META и Open Graph теги в вашем приложении.

Список поддерживаемых тегов:

  • head title
  • meta description
  • meta keywords
  • og:sitename
  • og:type
  • og:url
  • og:title
  • og:description
  • og:image
  • og:image:width
  • og:image:height
  • twitter:card
  • twitter:domain
  • twitter:site
  • twitter:description
  • twitter:image:src
  • itemprop:name
  • itemprop:image

Установка

Ставим компонент

Выполняем команду

$ composer require floor12/yii2-metamaster

иди добавляем в секцию "requred" файла composer.json

"floor12/yii2-metamaster": "dev-master"

###Добавляем компонент в конфиг приложения

    'components' => [
        'metamaster' => [
            'class' => 'floor12\metamaster\MetaMaster',
            'siteName' => 'My cool new Web Site',
            'defaultImage' => '/design/export_logo.png',
        ],
    ...

Параметры:

  1. siteName - название сайта для Open Graph тегов.
  2. defaultImage - Путь к дефолтной картинке для экспорта в соцсети через Open Graph

Остальные атрибуты смотрите в исходном коде класса.

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

Использовать можно в любоме месте, вызывая метод register, передавая туда объект View. Например в контроллере:


public function actionIndex()
   {
        Yii::$app->metamaster->title = "Тестовая страница";
        Yii::$app->metamaster->description = "Это тестовое описание страницы";
        Yii::$app->metamaster->kewords = "ключевые слова";
        Yii::$app->metamaster->image = "/test/image.png";
        Yii::$app->metamaster->register(Yii::$app->getView());
        return $this->render('index');
    }

При этом будут сформированы и зарегистрированы все теги, указанные в начале этого файла.

Существует более простой вызов с использованием стрелочных функции:

public function actionIndex()
   {
        Yii::$app->metamaster
                   ->setTitle("Тестовая страница")
                   ->setDescription("Это тестовое описание страницы")
                   ->setImage('/images/article/image.png')
                   ->register(Yii::$app->getView());
                   
        return $this->render('index');
    }
      

При использовании изображений, их фактический размер определяется автоматически и прописывается в соответствующие og-теги.