floor12/yii2-metamaster This Yii2 component helps to organize page title, meta tags and `og` and `twitter` open graph tags in with a fiew lines of code.

yii2-metamaster

Build Status Scrutinizer Code Quality Latest Stable Version Latest Unstable Version Total Downloads License

Этот файл так же доступен на русском языке.

This is a component for generate some Meta, Open Graph and Twitter-card tags in a template header of Yii2 app.

This is a list of supported tags:

  • canonical
  • 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

Installation

Just run: `bash $ composer require floor12/yii2-metamaster or add this to the require section of your composer.json.json "floor12/yii2-metamaster": "dev-master" `

After that, include some basic metamaster data into components section of application config. `php

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

Attributes:
1. `siteName` - name of project to show in Open Graph tags;
2. `defaultImage` - web relative path to default image for Open Graph tags;
3. `web` - yii2 alias to web path to read image width and height for Open Graph tags (default is `@app/web`)
4. `protocol` - default protocol to generate links (default is `https`)


Usage
------------

Its possible to use in any place of your app. Just use setters and then call the `register(View $view)` method with View object passed into it.

Allowed setters:
```php
Metamaster::setSiteName(string $value)
Metamaster::setTitle(string $value)
Metamaster::setUrl(string $value)
Metamaster::setType(string $value)
Metamaster::setDescription(string $value)
Metamaster::setImage(string $relativePath, string $absolutePath = null)

For example, using in controller:

public function actionIndex()
   {
        Yii::$app->metamaster
                   ->setTitle("This is test page")
                   ->setDescription("This is page description")
                   ->setImage('/images/article/image.png')
                   ->register(Yii::$app->getView());
                   
        return $this->render('index');
    }
      

It will generate all you need in template: `html

This is test page `
0 0
1 follower
4 560 downloads
Yii Version: 2.0
License: MIT
Category: Others
Developed by: floor12
Created on: Nov 2, 2019
Last updated: (not set)
Packagist Profile
Github Repository

Related Extensions