gourmet / social-meta
Adds Facebook Open Graph and Twitter Cards support to CakePHP 3.x
Installs: 5 035
Dependents: 0
Suggesters: 0
Security: 0
Stars: 24
Watchers: 7
Forks: 8
Open Issues: 2
Type:cakephp-plugin
Requires
- cakephp/cakephp: ~3.0
This package is auto-updated.
Last update: 2024-10-28 01:20:29 UTC
README
Adds Facebook Open Graph and Twitter Cards support to CakePHP 3.
What's included?
- CardHelper
- OpenGraphHelper
Install
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');
Usage
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
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
License
Copyright (c)2015, Jad Bitar and licensed under The MIT License.