mpalourdio / zf2-twitter-widget
ZF2 view helper to easily display twitter timelines widgets
Requires
- php: ^7.0
- mpalourdio/twitter-widgets: ^0.2
- zendframework/zend-i18n: ^2.3
- zendframework/zend-log: ^2.3
- zendframework/zend-modulemanager: ^2.3
- zendframework/zend-mvc: ^2.3
- zendframework/zend-serializer: ^2.3
- zendframework/zend-servicemanager: ^2.3
- zendframework/zend-view: ^2.3
Requires (Dev)
- phpunit/phpunit: ^6.1
- squizlabs/php_codesniffer: ^2.8
This package is not auto-updated.
Last update: 2024-12-21 16:15:31 UTC
README
zf2-twitter-widget
ZF2 view helper to easily display twitter embedded timelines widgets in a ZF2 project. Based on this library : https://github.com/mpalourdio/TwitterWidgets
Requirements
PHP 7.0+ - Only Composer installation supported
Installation
Run the command below to install via Composer
composer require mpalourdio/zf2-twitter-widget
Add "ZfTwitterWidget" to your modules list in application.config.php
Usage
-
- Create a timeline widget here : https://twitter.com/settings/widgets/new
-
- In the javascript generated code, get the URL and the data-widget-id (minimum information required)
-
- 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' => 'https://twitter.com/NickName', 'hrefText' => 'Here type a title' ], true/false (true is default) );
All the following options are handled : https://dev.twitter.com/web/embedded-timelines#options
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->setDataWidgetId('1245687955000'); $options->setHref('https://twitter.com/NickName'); $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 https://dev.twitter.com/web/javascript/loading
$this->inlineScript()->captureStart(); echo $this->twJS(); $this->inlineScript()->captureEnd();