# Рендер кнопок внешних аккаунтов 1.0.7+ | 1.1.2+

Класс провайдера внешнего аккаунта должен реализовывать интерфейс TC\ComponentLibrary\ConnectedAccount\Provider\RenderableButtonInterface:

public function renderButton(ConnectedAccountProvider $provider, array $params, bool $isTest = false): string;
Параметр Тип Значение по умолчанию Описание
provider XF\Entity\ConnectedAccountProvider Сущность провайдера внешних аккаунтов.
params array Массив параметров: link — ссылка, text — текст кнопки.
isTest bool false Контекст отображения кнопки.

# Пример

/**
*
* @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>