If you are looking for a quick way to integrate a Twitter feed into your project, look no more! The {{twitter… }} binder allows you to bind a Twitter feed to your page.
/**
* @param {array} $params
* $params['screen_name'] Twitter "username" (e.g. appcropolis)
* $params['assign_to'] Variable within the template engine to which the content has to be assigned.
*
* $params['consumer_key'] = '',
* $params['consumer_secret'] = '',
* $params['access_token'] = '',
* $params['access_token_secret'] = '',
* $params['twitter_screen_name'] = '',
* $params['cache_file'] = dirname(__FILE__) . '/cache/twitter.txt', // Where on the server to save the cached formatted tweets
* $params['cache_file_raw'] = dirname(__FILE__) . '/cache/twitter-array.txt', // Where on the server to save the cached raw tweets
* $params['cachetime'] = 60 * 60, // Seconds to cache feed (1 hour).
* $params['tweets_to_retrieve'] = 25, // Specifies the number of tweets to try and fetch, up to a maximum of 200
* $params['tweets_to_display'] = 10, // Number of tweets to display
* $params['ignore_replies'] = true, // Ignore @replies
* $params['ignore_retweets'] = true, // Ignore retweets
* $params['twitter_style_dates'] = false, // Use twitter style dates e.g. 2 hours ago
* $params['twitter_date_text'] = array('seconds', 'minutes', 'about', 'hour', 'ago'),
* $params['date_format'] = '%I:%M %p %b %e%O', // The defult date format e.g. 12:08 PM Jun 12th. See: http://php.net/manual/en/function.strftime.php
* $params['date_lang'] = null, // Language for date e.g. 'fr_FR'. See: http://php.net/manual/en/function.setlocale.php
* $params['format'] = 'html', // Can be 'html' or 'array'
* $params['twitter_wrap_open'] = '<h2>Latest tweets</h2><ul id="twitter">',
* $params['twitter_wrap_close'] = '</ul>',
* $params['tweet_wrap_open'] = '<li><span class="status">',
* $params['meta_wrap_open'] = '</span><span class="meta"> ',
* $params['meta_wrap_close'] = '</span>',
* $params['tweet_wrap_close'] = '</li>',
* $params['error_message'] = 'Oops, our twitter feed is unavailable right now.',
* $params['error_link_text'] = 'Follow us on Twitter',
* $params['nolink'] = Whether or not to replace URL link in tweet text with an actual link (anchor tag). Value can be anything
* $params['debug'] = false
*
*
* @return {array} An array of Tweets. Each tweet will contain:
*
* $tweet['text'] // the actual tweet text
* $tweet['id'] // the tweet ID
* $tweet['created_at'] // the tweet time stamp (Thu Nov 06 14:01:08 +0000 2014)
* $tweet['url'] // the tweet URL (https://twitter.com/appcropolis/status/530359228834525185)
* $tweet['user'] // user info object
* $tweet['user']['name'] // user friendly name
* $tweet['user']['screen_name'] // user twitter screen_name
* $tweet['user']['id'] // user ID
* $tweet['user']['profile_image_url']
* $tweet['user']['profile_image_url_https']
* $tweet['user']['profile_background_image_url']
* $tweet['user']['profile_background_image_url_https']
* $tweet['urls']
* $tweet['urls']['short_url']
* $tweet['urls']['expanded_url']
* $tweet['urls']['display_url']
*
*
* @example
*
* // EXAMPLE #1: Display a list of 4 most recent tweets
*
* {twitter assign_to="tweets" screen_name="appcropolis" tweets_to_display="4"}
* <ul>
* {foreach $tweets.data as $tweet}
* <li>
* <h2>{$tweet.text}</h2>
* <i>{$tweet.created_at}</i>
* <p>{$tweet.user.name} @{$tweet.user.screen_name}</p>
* <a href="{$tweet.urls.expanded_url}">{$tweet.urls.display_url}</a>
* </li>
* {/foreach}
* </ul>
*
* // EXAMPLE #2: Out twitter original data
* {twitter
* twitter_screen_name="appcropolis"
* tweets_to_retrieve="10"
* tweets_to_display="5"
* assign_to="tw"
* format="raw"}
*
* {dump var="tw"}
*
* @link https://github.com/jnicol/tweet-php
*
*/
Example:
<ul class="appc-dynamic" id="appc-tweets">
{{twitter assign_to="tweets" screen_name="appcropolis" tweets_to_display="4"}}
{{foreach $tweets.data as $tweet}}
<li>
<a href="#"> @{{$tweet.user.screen_name}}</a>
<div class="comment-date">
<!-- make date more user friendly -->
<span>{{$tweet.created_at}}</span>
</div>
<!-- open links in a popup window -->
<p >{{$tweet.text|replace:"href":"target='_blank' href"}}</p>
</li>
{{foreachelse}}
<p>No tweets.</p>
{{/foreach}}
</ul>