2017 © Pedro Peláez
 

craft-plugin follow

image

dukt/follow

  • Monday, April 30, 2018
  • by benjamindavid
  • Repository
  • 5 Watchers
  • 13 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 2 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

Follow for Craft CMS

A simple plugin to connect to Follow's API., (*1)


Installation

  1. Download the latest release of the plugin
  2. Drop the follow plugin folder to craft/plugins
  3. Install Follow from the control panel in Settings > Plugins

Templating

Following

Users that you are following., (*2)

{% if not currentUser %}
    <p>You need to <a href="{{url('follow/login')}}">login</a> in order to see the users you follow.</p>
{% else %}
    {% set users = craft.follow.getFollowing() %}

    {% if users|length > 0 %}

        <p>You are following {{users|length}} users.</p>

        <div class="row">
            {% for user in users %}
                <div class="col-md-4">
                    {% include 'follow/_user' with { user: user } %}
                </div>
            {% endfor %}
        </div>

    {% else %}
        <p>{{ "You are not following anyone."|t }}</p>
    {% endif %}

{% endif %}

Followers

Users that are following you., (*3)

{% if not currentUser %}
    <p>{{ 'You need to <a href="{url}">login</a> in order to see you followers.'|t({ url: url('follow/login') })|raw }}</p>
{% else %}
    {% set users = craft.follow.getFollowers(currentUser.id) %}

    {% if users %}

        <p>{{ "You have {count} followers."|t({ count: users|length }) }}</p>

        <div class="row">
            {% for user in users %}
                <div class="col-md-4">
                    {% include 'follow/_user' with { user: user } %}
                </div>
            {% endfor %}
        </div>

    {% else %}
        <p>{{ "No one is following you." }}</p>
    {% endif %}
{% endif %}

Activity

Recent entries from users you are following., (*4)

{% if not currentUser %}
    <p>{{ 'You need to <a href="{url}">login</a> in order to see the activity of users you follow.'|t({ url: url('follow/login') })|raw }}</p>
{% else %}
    {% set followingUsers = craft.follow.getFollowing( user.id ) %}

    {% set followingUserIds = [] %}
    {% for followingUser in followingUsers %}
        {% set followingUserIds = followingUserIds|merge([ followingUser.id ]) %}
    {% endfor %}

    {% if followingUserIds|length > 0 %}

        {% set entries = craft.entries.authorId(followingUserIds).find() %}

        {% if entries|length %}
            {% for entry in entries %}
                <div class="media">
                    <div class="media-left text-center">

                        {% if entry.author.photoUrl %}
                            {% set photoUrl = entry.author.photoUrl(80) %}
                        {% else %}
                            {% set photoUrl = resourceUrl('images/user.gif') %}
                        {% endif %}

                        <img src="{{ photoUrl }}" width="80" class="img-circle" />

                        <p>{{ entry.author.fullName }}</p>

                    </div>

                    <div class="media-body">

                        <h4 class="media-heading">{{ entry.title }}</h4>

                        <p>
                            <small>{{ entry.postDate.nice }}</small>
                        </p>

                        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia, unde molestias odit mollitia sint. Similique, nesciunt, sunt, magnam enim asperiores totam consequuntur ratione nemo quam ut vitae accusantium blanditiis esse.</p>

                        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia, unde molestias odit mollitia sint. Similique, nesciunt, sunt, magnam enim asperiores totam consequuntur ratione nemo quam ut vitae accusantium blanditiis esse.</p>

                    </div>
                </div>

                <hr>
            {% endfor %}
        {% else %}
            <p>{{ "Start following some users to see their recent entries."|t }}</p>
        {% endif %}
    {% else %}
        <p>{{ "Start following some users to see their recent entries."|t }}</p>
    {% endif %}

{% endif %}

user.html

{% set followers = craft.follow.getFollowers(user.id) %}

<div class="row">
    <div class="col-md-12">

        <div class="panel panel-default">
            <div class="panel-body">

                <div class="row">
                    <div class="col-sm-4">
                        {% if user.photoUrl %}
                            {% set photoUrl = user.photoUrl %}
                        {% else %}
                            {% set photoUrl = resourceUrl('images/user.gif') %}
                        {% endif %}

                        <img src="{{ photoUrl }}" width="90" class="img-circle" />
                    </div>
                    <div class="col-sm-8">

                        <h5>{{ user.fullName }}</h5>

                        {% set followersCount = followers|length %}

                        {% if followersCount > 1 %}
                            <p>{{ "{count} followers"|t({ count: followersCount }) }}</p>
                        {% else %}
                            <p>{{ "{count} follower"|t({ count: followersCount }) }}</p>
                        {% endif %}

                        {% if currentUser and currentUser.id != user.id %}
                            {% if craft.follow.isFollow(user.id) %}
                                <a class="btn btn-default btn-sm" href="{{actionUrl('follow/stopFollowing', {id:user.id})}}">{{ "Unfollow"|t }}</a>
                            {% else %}
                                <a class="btn btn-default btn-sm btn-primary" href="{{actionUrl('follow/startFollowing', {id:user.id})}}">{{ "Follow"|t }}</a>
                            {% endif %}
                        {% else %}
                            <div class="btn btn-default btn-sm btn-primary disabled">{{ "Follow"|t }}</div>
                        {% endif %}

                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

API

FollowVariable

  • isFollow($elementId)
  • getFollowers($userId = null)
  • getFollowing($userId = null)

The Versions

30/04 2018

0.9.0

0.9.0.0

  Sources   Download

30/04 2018

0.9.1

0.9.1.0

  Sources   Download

30/04 2018

0.9.6

0.9.6.0

  Sources   Download

30/04 2018

0.9.7

0.9.7.0

  Sources   Download

29/09 2017

v1.x-dev

1.9999999.9999999.9999999-dev

Follow plugin for Craft CMS

  Sources   Download

The Requires

 

29/09 2017

1.0.1

1.0.1.0

Follow plugin for Craft CMS

  Sources   Download

The Requires

 

03/06 2016

1.0.0

1.0.0.0

Follow plugin for Craft CMS

  Sources   Download

The Requires