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');
Include the helpers in your AppView
:
public function initialize(array $config)
{
$this->loadHelper('Gourmet/SocialMeta.Card');
$this->loadHelper('Gourmet/SocialMeta.OpenGraph');
}
Keep in mind that certain configuration option are made available to you. For example:
public function initialize(array $config)
{
$this->loadHelper('Gourmet/SocialMeta.Card', [
'card' => 'photo',
'tags' => ['twitter' => [
'description' => 'Some default description'
]]
]);
$this->loadHelper('Gourmet/SocialMeta.OpenGraph', [
'app_id' => 'xxx'
]);
}
You are now ready to use the helpers in your view / layout.
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.