# Connected account provider button renderer 1.0.7+ | 1.1.2+

Connected account provider class must implement the TC\ComponentLibrary\ConnectedAccount\Provider\RenderableButtonInterface interface:

public function renderButton(ConnectedAccountProvider $provider, array $params, bool $isTest = false): string;
Argument Type Default value Description
provider XF\Entity\ConnectedAccountProvider Connected account provider entity.
params array An array of parameters: link — the button link, text — the button text.
isTest bool false The button rendering context.

# Example

/**
*
* @param ConnectedAccountProvider $provider
* @param array                    $params
* @param bool                     $isTest
*
* @return string
*/
public function renderButton(ConnectedAccountProvider $provider, array $params, bool $isTest = false): string
{
    return XF::app()->templater()->renderTemplate(
        'public:demo_connected_account_button',
        $params + [
            'isTest' => $isTest
        ]
    );
}
<xf:button href="{{ $link ?: link('register/connected-accounts', $provider, {'setup': true}) }}"
           class="button--provider button--provider--{$provider.provider_id}">
    <xf:if is="$provider.icon_url">
        <img class="button-icon" alt="" src="{$provider.icon_url}" />
    </xf:if>
    {{ $text ?: $provider.title }}
</xf:button>