Symfony 2 bundle to add quickly last tweets on your website, you can choose and change the screen name,
override template and use your own template, this bundle reqiure dependency on abraham/twitteroauth bundle, (*1)
Installation
prerequisites
when you install OrwebEasyLastTweetBundle for symfony, this dependency will be add :, (*2)
https://github.com/abraham/twitteroauth
installation
- Add this bundle to your project in composer.json:
{
"require": {
"orweb/EasylastTweet": "^1.0",
}
}
- Install with composer
composer.phar require orweb/EasylastTweet
- Register the bundle
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new \Orweb\EasyLastTweetBundle\OrwebEasyLastTweetBundle(),
);
// ...
}
configuration
first you must create an twitter application on https://apps.twitter.com/ ,and create a token (read permission), (*3)
parameters
you must add your twitter api parameters in app/config/config.yml, the required parameters must be added like this :, (*4)
# app/config/config.yml
orweb_easy_last_tweet:
twitter:
consumer_key: "your_application_key"
consumer_secret: "your_application_secret_key"
token: "your_application_token"
token_secret: "your_application_token_secret"
Usage
twig usage:
just add this render command in your twig template (in this example we display the last 3 tweets
from the @lyfeor account) :, (*5)
{% render path('orweb_easy_last_tweet', {screen: 'lyfeor', number: 3}) %}
controller usage:
if you want to use it in a controller you can get an entity Array
with this code:, (*6)
<?php
// src/controller/someController.php
public function someAction()
{
$tweets = $this->get('orweb.twitter')->getLastTweets($screen, $number);
// ...
//if you want retweets and mention
$tweets = $this->get('orweb.twitter')->getLastTweets($screen, $number, false, true,true);
}
Override template
if you want to custom the render (in a twig template usage), you cans specify the path of your
override template in the app/config/config.yml :, (*7)
config
# app/config/config.yml
orweb_easy_last_tweet:
twitter:
consumer_key: "your_application_key"
consumer_secret: "your_application_secret_key"
token: "your_application_token"
token_secret: "your_application_token_secret"
template:
path: "path/of/custom/template/tweet.html.twig"
template
you can use the "tweets" entities Array like this :, (*8)
{% for tweet in tweets %}
<dl>
<dt>{{ tweet.getDate() }}</dt>
<dd>{{ tweet.getFormatText() | raw }}</dd>
</dl>
{% endfor %}
to see all the 'tweet' parameters open the Entity/Tweet.php, (*9)