При создании проекта на н скрипт очень часто возникает вопрос копирования реферальной ссылки в буфер обмена при клике на кнопку.
Выкладываю простое решение на JS без подключения новых добавочных js скриптов таких как clipboard или аналогичных.
РЕШЕНИЕ
Сначала откройте файл udf.php в папке module и вставьте внизу следующий код
PHP код:
if (_uid()) setPage('refurl', $_GS['root_url'] . '?' . $_cfg['Ref_Word'] . '=' . $_user['uID']);
Этим самым мы делаем переменную $refurl видимой на всех страницах сайта.
Далее в файле header или footer, а так же можно в head /head
вставить следующий код
Код HTML:
<script>
function copy(str, th=false){
let tmp = document.createElement('INPUT'),
focus = document.activeElement;
tmp.value = str;
document.body.appendChild(tmp);
tmp.select();
document.execCommand('copy');
document.body.removeChild(tmp);
focus.focus();
if (th){
th.addClass('is-copied');
th.text('copied');
}
}
</script>
Все готово остается только при клике передать значения для копирования в буфер обмена
Код HTML:
<button class="btn-copy menubutton" onclick="copy('{$refurl}', $(this))" ><i class="far fa-copy"></i> Copy referral link</button>
Вот и все решение, второй параметр $(this) является не обязательным, но если отправить то надпись на кнопке изменится и добавится класс, который можно указать в css, например изменить стиль кнопки добавить обрамление, тень ну или все на что хватит Ваших знаний и фантазий.
Социальные закладки