Retrieves the Instagram feed for a given user for embedding in a template
Retrieves the Instagram feed for a given user for embedding in a SilverStripe template
This module is a simple wrapper for the Instagram user feed PHP library
composer require dorsetdigital/silverstripe-simpleinstagram
dev/build?flush
to update your projectTo use the module, you will need to add a couple of bits of code to your template and its associated model. The Instagram username is passed in as the (required) argument when instantiating the class.
For example, if you were adding a feed to your HomePage class for the 'natgeo' Instagram account:
<?php
use DorsetDigital\SimpleInstagram\InstagramHelper;
class HomePage extends Page
{
public function getInstagramFeed()
{
$insta = InstagramHelper::create('natgeo');
return $insta->getFeed();
}
}
and then in your HomePage.ss file you would use the following syntax to display the data:
<% with $InstagramFeed %>
<h2 class="instagram__username">$FullName ($UserName)</h2>
<a href="$Link">
<img src="$ProfileImage" alt="Profile Image"/>
</a>
<p class="instagram__biotext">$Bio</p>
<p class="instagram__stats">Followers: $Followers / Following: $Following</p>
<% loop $Items %>
<div class="instagram__post-holder">
<a href="$Link" target="_blank" title="Link to Instagram post">
<img src="$ThumbURL" alt="$Caption" class="$Type instagram__postimage"/>
<p class="instagram__caption">$Caption</p>
<p class="instagram__likes">Liked: $Likes</p>
<p class="instagram__date">Posted: $Date</p>
</a>
</div>
<% end_loop %>
<% end_with %>
The markup shown above is purely for example purposes. You can format / style it any way you want to suit your project.
In order to help reduce the dependency on the external service and to improve efficiency, the module supports caching via the standard SilverStripe mechanisms. Caching is disabled by default, but it can be enabled by adding a yml configuration to your project, eg:
---
Name: instagramcache
---
DorsetDigital\SimpleInstagram\InstagramHelper:
enable_cache: true
cache_time: 900
Enable the cache by setting enable_cache
to true
. Set the cache time (in seconds) with cache_time
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem