, (*1)
Adds Facebook Open Graph and Twitter Cards support to CakePHP 3., (*2)
What's included?
- CardHelper
- OpenGraphHelper
Install
Using Composer:, (*3)
composer require gourmet/social-meta:~1.0
You then need to load the plugin. In boostrap.php
, something like:, (*4)
\Cake\Core\Plugin::load('Gourmet/SocialMeta');
Usage
Include the helpers in your AppView
:, (*5)
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:, (*6)
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., (*7)
For the Facebook OpenGraph, you will need to use the helper's html()
method as it
will include the defined namespaces:, (*8)
echo $this->OpenGraph->html();
or by passing extra options and namespaces:, (*9)
echo $this->OpenGraph->html(['lang' => 'en'], ['foo' => 'http://foo']);
You can then render the OpenGraph meta tags:, (*10)
echo $this->OpenGraph->render();
which will render the most basic stuff using some black magic, or you could be much more verbose:, (*11)
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
, (*12)
For the Twitter Cards, something similar to that last code example:, (*13)
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
, (*14)
Patches & Features
- 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
Bugs & Feedback
http://github.com/gourmet/social-meta/issues, (*15)
License
Copyright (c)2015, Jad Bitar and licensed under The MIT License., (*16)