Всплывающее уведомление при копировании материала с сайта.
Приделал у себя такую штуку. Отписываю о результатах тут, может кому нить и пригодится.

В topic_topic.tpl находим
И заменяем на
В языковых файлах определяем
UPD. Если так-же надо показывать уведомление при копировании комментариев, можно сделать так:
В comment.tpl
Находим
И меняем на:
Для статических страниц:
plugins/page/templates/skin/default/actions/ActionPage/page.tpl
Заменить на
Скрин, как это выглядит на моём сайте выше.
По запросам, скрипт, автоматически подставляющий ссылку на статью в буфер.
Сохраним его в /engine/lib/internal/template/js/cpl.js
В footer.tpl (Именно туда, т.к клиенту лучше будет получить сначала контент, а мение важные скрипты, в последнюю очередь.) Добавим:

В topic_topic.tpl находим
<div class="topic-content text">
И заменяем на
<div class="topic-content text" OnCopy="ls.msg.error(null,'{$aLang.cp_reverse_link_notify}'); return true;">
В языковых файлах определяем
'cp_reverse_link_notify' => 'При использовании любых материалов с сайта вы обязаны явным образом указывать ссылку на сайт mysite.ltd в качестве источника.',
UPD. Если так-же надо показывать уведомление при копировании комментариев, можно сделать так:
В comment.tpl
Находим
<div id="comment_content_id_{$oComment->getId()}" class="comment-content text">
И меняем на:
<div id="comment_content_id_{$oComment->getId()}" class="comment-content text" OnCopy="ls.msg.error(null,'{$aLang.cp_reverse_link_notify}'); return true;">
Для статических страниц:
plugins/page/templates/skin/default/actions/ActionPage/page.tpl
<div class="topic-content text">
Заменить на
<div class="topic-content text" OnCopy="ls.msg.error(null,'{$aLang.cp_reverse_link_notify}'); return true;">
Скрин, как это выглядит на моём сайте выше.
По запросам, скрипт, автоматически подставляющий ссылку на статью в буфер.
var div4copy;
var pagelink = "<p>Источник: <a href='"+document.location.href+"' target='_blank'>"+document.location.href+"</a></p>";
function create_div4copy() {
var newdiv = document.createElement('DIV');
document.body.appendChild(newdiv);
newdiv.style.overflow="hidden";
newdiv.style.width="1px";
newdiv.style.height="1px";
newdiv.style.position="absolute";
newdiv.style.top="-999px";
newdiv.style.left="-999px";
newdiv.innerHTML='';
return newdiv;
}
function clipboard_addLink() {
if (!window.getSelection) return;
var selection = window.getSelection();
var range = selection.getRangeAt(0);
div4copy=create_div4copy()
div4copy.appendChild (range.cloneContents());
range3=range.cloneRange();
selection.removeAllRanges();
div4copy.innerHTML+= pagelink;
var range2 = document.createRange();
range2.selectNode(div4copy);
selection.addRange(range2);
window.setTimeout( function() {
selection.removeAllRanges();
selection.addRange(range3);
document.body.removeChild(div4copy);
}, 0);
}
a=document.getElementsByTagName("DIV");
c=a.length;
for (i=0; i<c; i++) {
if (a[i].className=='topic-content text') {
if (a[i].attachEvent) {
a[i].attachEvent("oncopy", clipboard_addLink);
} else if(a[i].addEventListener) {
a[i].addEventListener("copy", clipboard_addLink, false);
}
}
}
Сохраним его в /engine/lib/internal/template/js/cpl.js
В footer.tpl (Именно туда, т.к клиенту лучше будет получить сначала контент, а мение важные скрипты, в последнюю очередь.) Добавим:
<script type="text/javascript" src="{cfg name="path.root.web"}/engine/lib/internal/template/js/cpl.js'></script>
42 комментария
Кстати, в первом посте добавил как добавить уведомление при копировании комментариев.
Попробуйте, может, кеш почистить.
Но это будет срабатывать абсолютно при любой операции вставки. Что собственно не особо хорошо.
как то так)
хотя я в программирование не шарю)
Правда тут я не особо спец. )
Если сможете прикрутить то будет замечательно! вот код скрипта:
По идее его нужно над , вставлять но…
Всплывающая подсказка заработала, но пропали кнопки навигации и входа в админку (скин саньо) справа.
При копировании в текст ничего не добавилось (((
Можно поподробнее:
— в cpl.js не нужно больше ничего добавлять?
— в какую часть footer.tpl после чего и перед чем добавлять (я всталял в несколько мест не заработало)
P/S кэш чистил