yii2-metamaster ¶
Этот файл так же доступен на русском языке.
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
`
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.