Skip to content

3Dgoo/silverstripe-instagram-scraper

Repository files navigation

Silverstripe Instagram scraper module

Build Status codecov.io Scrutinizer Code Quality Latest Stable Version Total Downloads Latest Unstable Version License

An Instagram scraper module for Silverstripe.

Requirements

Installation (with composer)

$ composer require 3dgoo/silverstripe-instagram-scraper

Usage

Import Instagram posts of a certain handle through running the following dev task:

php vendor/silverstripe/framework/cli-script.php dev/tasks/import-instagram-posts handle=<handle>

Sometimes Instagram may require us to log in to fetch this data. This can be done by adding the following to our .env file:

INSTAGRAM_USERNAME="<username>"
INSTAGRAM_PASSWORD="<password>"

Once our Instagram posts are imported we can display them with the following code:

PageController.php

use X3dgoo\InstagramScraper\Model\InstagramPost;

class PageController extends ContentController
{
    public function InstagramPosts($limit = 10)
    {
        return InstagramPost::get()
            ->filter([
                'Show' => true,
            ])
            ->limit($limit);
    }
}

Page.ss

<% if $InstagramPosts %>
<div class="instagram-posts">
    <% loop $InstagramPosts %>
    <div class="instagram-post">
        <a href="{$Link}" target="_blank">
            <img src="{$ImageThumbnailURL}" alt="{$Caption.LimitWordCount(20).XML}" />
            <div class="caption">
                $Caption.LimitWordCount(20)
            </div>
        </a>
    </div>
    <% end_loop %>
</div>
<% end_if %>

About

Instagram scraper module for Silverstripe

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages