Adds Facebook Open Graph and Twitter Cards support to CakePHP 3.
- CardHelper
- OpenGraphHelper
Using Composer:
composer require gourmet/social-meta:~1.0
You then need to load the plugin. In boostrap.php
, something like:
\Cake\Core\Plugin::load('Gourmet/SocialMeta');
First, include the helpers in your AppController
, specific Controller
or AppView
. Example in
AppController
:
public $helpers = [
'Gourmet\SocialMeta.Card',
'Gourmet\SocialMeta.OpenGraph'
];
Keep in mind that certain configuration option are made available to you. For example:
public $helpers = [
'Gourmet\SocialMeta.Card' => [
'card' => 'photo',
'tags' => ['twitter' => [
'description' => 'Some default description'
]]
],
'Gourmet\SocialMeta.OpenGraph' => [
'app_id' => 'xxx'
]
];
You are now ready to use the helpers in your view.
For the Facebook OpenGraph, you will need to use the helper's html()
method as it
will include the defined namespaces:
echo $this->OpenGraph->html();
or by passing extra options and namespaces:
echo $this->OpenGraph->html(['lang' => 'en'], ['foo' => 'http://foo']);
You can then render the OpenGraph meta tags:
echo $this->OpenGraph->render();
which will render the most basic stuff using some black magic, or you could be much more verbose:
echo $this->OpenGraph
->setTitle('My Page')
->setDescription('One of my awesome pages')
->setImage('http://link.to/image', ['width' => '200', 'height' => '300'])
->render();
Other methods: setType
, setUri
, setLocale
, setName
, setImage
, setVideo
For the Twitter Cards, something similar to that last code example:
echo $this->Card
->setTitle('My Page')
->setDescription('One of my awesome pages')
->setImage('http://link.to/image', ['width' => '200', 'height' => '300'])
->render();
Other methods: setCard
, setUrl
, setData1
, setLabel1
, setData2
, setLabel2
, setCreator
, setSite
, setPlayer
- Fork
- Mod, fix
- Test - this is important, so it's not unintentionally broken
- Commit - do not mess with license, todo, version, etc. (if you do change any, bump them into commits of their own that I can ignore when I pull)
- Pull request - bonus point for topic branches
http://github.com/gourmet/social-meta/issues
Copyright (c)2015, Jad Bitar and licensed under The MIT License.