Помогите с кодом " скопировать ссылку"

InstantCMS 2.X
#1 14 октября 2021 в 02:05

Друзья, задача такая: нужно в меню действий добавить пункт скопировать ссылку. помогите с кодом и местом его расположения. 2.13.1 

#2 14 октября 2021 в 07:32

А где меню? Страница, альбом, ТК?

#4 14 октября 2021 в 13:03

А где меню? Страница, альбом, ТК?

Lora

В основном в записи контента, в профиле групп, и в профиле юзеров 

#5 14 октября 2021 в 14:38

Тогда в шаблоне вашего контекста, например если это профиль, то в profile_view.tpl.php где нибудь сверху

  1. $this->addToolButton(array(
  2. 'class' => '',
  3. 'icon' => '',
  4. 'title' => '',
  5. 'href' => ''
  6. ));

Заполните соответственно пустые кавычки

#6 14 октября 2021 в 16:50

Тогда в шаблоне вашего контекста, например если это профиль, то в profile_view.tpl.php где нибудь сверху

  1. $this->addToolButton(array(
  2. 'class' => '',
  3. 'icon' => '',
  4. 'title' => '',
  5. 'href' => ''
  6. ));

Заполните соответственно пустые кавычки

Lora

Эмм можно еще подсказок ) чем их наполнить ?)

#7 14 октября 2021 в 17:44

Вот код копирования в буфер codepen.io/begprod/pen/abbaMgX

Вам надо его поместить в отдельный файл, и подключить на этой странице

А в addToolButton написать что-то типа

  1. $this->addToolButton(array(
  2. 'class' => 'copyToClipBoardBtn',
  3. 'icon' => '',
  4. 'title' => 'Копировать адрес страницы',
  5. 'href' => '#'
  6. ));
#8 14 октября 2021 в 17:59

Как вариант, просто повесить ивент на dropdown «меню действий». Правда оно будет на всех страницах при нажатии на это меню добавлять ссылку.

  1. $('.breadcrumb + .dropdown').on('show.bs.dropdown', function () {
  2.  
  3. let li = document.createElement('li'),
  4. a = document.createElement('a');
  5.  
  6. li.className = 'nav-item';
  7. a.href = '#';
  8. a.className = 'nav-link text-nowrap';
  9. a.textContent = 'Скопировать ссылку';
  10. li.appendChild(a);
  11.  
  12. $(this).children('.dropdown-menu').append(li);
  13.  
  14. let handler = ()=>{
  15. let inp = document.createElement('input');
  16. inp.value = location.href;
  17. document.body.appendChild(inp);
  18. inp.select();
  19. if(document.execCommand('copy')){
  20. alert('Успешно скопировано')
  21. }
  22. inp.remove();
  23. return false;
  24. };
  25.  
  26. li.onclick = handler;
  27.  
  28.  
  29. });
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.