Skip to content

3Dgoo/silverstripe-instagram-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

10acec3 · Jun 4, 2020

History

37 Commits
Jun 3, 2020
Jun 3, 2020
Jun 4, 2020
Jun 4, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 4, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020
Jun 3, 2020

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