Open Graph for Yii 2.x
Open Graph implementation for Yii 2 which adds valid meta tags to your HTML output., (*1)
Configuration
'components' => [
'opengraph' => [
'class' => 'dragonjet\opengraph\OpenGraph',
],
//....
],
Usage
The following codes must be used on controller actions before rendering the view., (*2)
Usage via Object
Yii::$app->opengraph->title = 'My_Article';
Yii::$app->opengraph->description = 'My_Article_Description';
Yii::$app->opengraph->image = 'http://image.for.my/article';
return $this->render('My_View_Name');
Usage via Array
Yii::$app->opengraph->set([
'title' => 'My_Article',
'description' => 'My_Article_Description',
'image' => 'http://image.for.my/article',
]);
return $this->render('My_View_Name');
Yii::$app->opengraph->title = 'My_Article';
Yii::$app->opengraph->description = 'My_Article_Description';
Yii::$app->opengraph->image = 'http://image.for.my/article';
Yii::$app->opengraph->twitter->card = 'summary';
Yii::$app->opengraph->twitter->site = 'My_Site_Twitter_Username';
Yii::$app->opengraph->twitter->creator = 'Author_Username';
return $this->render('My_View_Name');
or, (*3)
Yii::$app->opengraph->set([
'title' => 'My_Article',
'description' => 'My_Article_Description',
'image' => 'http://image.for.my/article',
'twitter' => [
'card' => 'summary',
'site' => 'My_Site_Twitter_Username',
'creator' => 'Author_Username',
],
]);
return $this->render('My_View_Name');
Available Properties
Title
Yii::$app->opengraph->title
, (*4)
This is the title that shows up on social sharing. In contrast to the view title, this should be simpler and should not contain your branding for best practice, as mentioned on the Facebook Sharing Guidelines:, (*5)
- "The title of your article, excluding any branding."
- "The title should not have branding or extraneous information."
e.g. "MySite.com - Blog - Hello world!" should just be "Hello World!", (*6)
Site Name
Yii::$app->opengraph->site_name
, (*7)
[Automatic] Your website's name. You do not need to specify this on every controller action if you have an application name
in your Yii config:, (*8)
return [
'id' => 'yiiappid',
'name' => 'My Website',
//....
]
URL
Yii::$app->opengraph->url
, (*9)
[Automatic] This is automatically prefilled with the current URL. You do not need to specify this on every controller action., (*10)
Description
Yii::$app->opengraph->description
, (*11)
Description of the current page. Optional but recommended for best results in social sharing., (*12)
Object Type
Yii::$app->opengraph->type
, (*13)
The type of object this page will appear on social media. Defaults to article
., (*14)
Locale
Yii::$app->opengraph->locale
, (*15)
[Automatic] This is the locale (language) of the open graph object. This defaults to your Yii application language., (*16)
Image
Yii::$app->opengraph->image
, (*17)
Image for the graph object. This is highly recommended for best results when shared onto the social media. For best results in Facebook, make this at least 600x315px
, (*18)