This module is a work in progress. Bug reports or feature requests welcome.
This module adds a getOpenGraph
method to the Page class to be used in
templates. Calling $OpenGraph
in a template will return a series of
automatically generated tags corresponding to the standard open graph
attributes.
-
og:title
: from$Title
-
og:type
: hardcoded to"website"
-
og:image
: absolute URL. tries$HeroImage
,$PostImage
,$Image
, then$FeaturedImage
-
og:image:width
: width, asog:image
-
og:image:height
: height, asog:image
-
og:url
: absolute URL of page (Director::protocolAndHost() . $this->Link
) -
og:description
: from$MetaDescription
-
og:locale
: fromi18n::get_locale()
-
og:site_name
: from$SiteConfig.Title
-
og:determiner
: unused -
og:locale:alternate
: unused -
og:audio
: unused -
og:video
: unused
All of the above can be overridden in Page.php
or a given subclass according
to the naming convention getOpenGraph_attribute
, with og
removed and :
s
replaced with spaces. For example, getOpenGraph_image_width()
.
To override the image selection behaviour (for example, to return a static
image, or to return a field that is not in the list that the extension searches
for), simply implement getOpenGraphImage()
to return a SilverStripe Image
object.
Install via composer require studiothick/silverstripe-opengraph
.
Example:
<head>
<title>$SiteConfig.Title | $Title</title>
$OpenGraph
</head>