ZF2 view helper to easily display twitter timelines widgets

0.2.0 2017-04-08 20:08 UTC

This package is not auto-updated.

Last update: 2022-05-28 04:00:53 UTC


Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight PHP 7.0+ MIT Licensed


ZF2 view helper to easily display twitter embedded timelines widgets in a ZF2 project. Based on this library :


PHP 7.0+ - Only Composer installation supported


Run the command below to install via Composer

composer require mpalourdio/zf2-twitter-widget

Add "ZfTwitterWidget" to your modules list in application.config.php


    1. Create a timeline widget here :
    1. In the javascript generated code, get the URL and the data-widget-id (minimum information required)
    1. Finally, in a view, use with
echo $this->tw(
            'dataWidgetId' => '1245687955000', => the id must be a string (quotes), because of long integer converted to float
            'href'         => '',
            'hrefText'     => 'Here type a title'
        true/false (true is default)

All the following options are handled :

Their PHP equivalent as array keys to use in the view helper are :

'class'           => 'A css class, by default it will be twitter-timeline',
'href'            => 'The link to the timeline',
'hrefText'        => 'A title for your timeline to display',
'dataWidgetId'    => 'Your data widget ID : must be a string (!)',
'dataTheme'       => 'ex: dark',
'dataLinkColor'   => 'ex: #cc0000',
'width'           => 300 (integer),
'height'          => 400 (integer),
'dataChrome'      => 'noheader nofooter noborders noscrollbar transparent', => a string with options separated by a single space
'dataBorderColor' => 'border color used by the widget',
'language'        => 'The widget language detected from the page, based on the HTML lang attribute of your content. You can also set the HTML lang attribute on the embed code itself.',
'dataTweetLimit'  => 20,
'dataRelated'     => 'benward,endform',
'dataAriaPolite'  => 'polite or assertive',

You can give an instance of TwitterWidgets\Options\WidgetOptions instead of an array (or any implementation of TwitterWidgets\Timeline\WidgetOptionsInterface).

$options = new TwitterWidgets\Options\WidgetOptions();
$options->setHrefText('Here type a title');
echo $this->tw($options);

The view helper second parameter is a boolean (true by default), that indicates if you must render the javascript code for your widget. If you have more that one widget on your page, use the OneTimeJsViewHelper to only add once the javascript code, just before your </body>. This will avoid some overhead. See

echo $this->twJS();