Help > Forum > Темы и сообщения > Добавление кнопки прямых/личных сообщений к публикациям
Добавление кнопки прямых/личных сообщений к публикациям
По умолчанию на информационной карточке пользователя отображается кнопка «Сообщение», которая отображается при наведении курсора (на рабочем столе) или нажатии на имя пользователя или аватар (на сенсорных устройствах). Кнопка позволяет пользователю напрямую и конфиденциально отправлять сообщения другому пользователю. Следуя приведенным ниже инструкциям, вы можете добавить в сообщения кнопку «Прямое сообщение», чтобы пользователи могли отправлять сообщения другим пользователям без предварительного просмотра информационной карточки пользователя.
Предварительный просмотр:
- Войдите в свою учетную запись Website Toolbox.
- Нажмите на Интегрировать ссылка в верхней части страницы.
- Нажмите на HTML ссылка.
- Вставьте следующий код в HTML-код тега заголовка форума.
<style> @media (max-width: 480px) { #body-wrapper .post-options a.directMessage { display: block; margin: 20px 0 0; text-align: center; } } #send_message { font-size: 13px; font-weight: bold; line-height :1; padding: 8px 10px; width: auto; border-radius: 4px; } #send_message:hover { background: #e1e1e1; } </style>
- Вставьте следующий код в HTML-код нижнего колонтитула форума.
<script> var message = "Direct Message"; var lang = getForumLanguage(); if(lang == 'en') { message = "Direct Message"; } else if(lang == 'es') { message = "Mensaje directo"; } else if(lang == 'fr') { message = "Message direct"; } else if(lang == 'de') { message = "Direct bericht"; } else if(lang == 'id') { message = "Pesan langsung"; } else if(lang == 'cs') { message = "PÅÃmá zpráva"; } else if(lang == 'nl') { message = "Direct bericht"; } else if(lang == 'nb') { message = "Direkte melding"; } else if(lang == 'ar') { message = "Ø±Ø³Ø§ÙØ© ٠باشرة"; } else if(lang == 'sv') { message = "Direkt meddelande"; } else if(lang == 'pt') { message = "Mensagem direta"; } else if(lang == 'zh') { message = "ç´æ¥çè¨"; } else if(lang == 'ko') { message = "ì§ì ë©ìì§"; } else if(lang == 'ja') { message = "ãã¤ã¬ã¯ãã¡ãã»ã¼ã¸"; } else if(lang == 'vi') { message = "Tin nhắn trá»±c tiếp"; } addDirectMessageButton(); window.addEventListener("load", function(){ jQ('#posts-list').bind('DOMSubtreeModified', function(e) { if (e.target.innerHTML.length > 0) { updateMessageSendButton(); } }) }); function updateMessageSendButton() { if(global_hash.enable_pms && jQ('#private_message_notification').length && jQ('#posts-list').length) { jQ("#posts-list").find("[id^='post_list_']").each(function () { var postUserID = jQ(this).data('post-userid'); if(jQ(this).find('.display_username').hasClass('username')) { var postUserName = jQ(this).find('.display_username').text(); var userName = jQ(this).find(".display_username"); var posterDisplayUserName = ''; for (j = 0; j < userName.length; j++) { postUserName = userName[j].getAttribute('data-username'); posterDisplayUserName = userName[j].getAttribute('data-displayname'); } if(postUserID && postUserName) { if(!jQ(this).find('.directMessage').length) { var messageBox = document.createElement('a'); messageBox.setAttribute('href','javascript:void(0);'); messageBox.setAttribute('id','send_message'); messageBox.setAttribute('class','text-muted login_dialog directMessage'); messageBox.setAttribute('data-userid',postUserID); messageBox.setAttribute('data-username',postUserName); messageBox.setAttribute('data-displayname',posterDisplayUserName); messageBox.setAttribute('style','text-transform: none;'); messageBox.innerHTML = ' '+message; jQ(this).find('.post-options').append(messageBox); } else if(jQ(this).find('.post-options').length && !jQ(this).find('.directMessage').length) { jQ(this).find('.post-options').append(' '+message+''); } } } }); } } function addDirectMessageButton () { var postListingPage = document.getElementById("private_message_notification"); var privateMessageNotification = document.getElementById("private_message_notification"); if(privateMessageNotification && global_hash.enable_pms && postListingPage) { var postsList = document.querySelectorAll('DIV[id^="post_list_"]'); for (i = 0; i < postsList.length; i++) { var postUserID = postsList[i].getAttribute("data-post-userid"); var userName = postsList[i].getElementsByClassName("display_username"); var postUserName = ''; var posterDisplayUserName = ''; for (j = 0; j < userName.length; j++) { postUserName = userName[j].getAttribute('data-username'); posterDisplayUserName = userName[j].getAttribute('data-displayname'); } if(postUserID && postUserName) { var postOptions = postsList[i].getElementsByClassName('post-options'); var messageBox = document.createElement('a'); messageBox.setAttribute('href','javascript:void(0);'); messageBox.setAttribute('id','send_message'); messageBox.setAttribute('class','text-muted login_dialog directMessage'); messageBox.setAttribute('data-userid',postUserID); messageBox.setAttribute('data-username',postUserName); messageBox.setAttribute('data-displayname',posterDisplayUserName); messageBox.setAttribute('style','text-transform: none;'); messageBox.innerHTML = ' '+message; for (m = 0; m < postOptions.length; m++) { postOptions[m].appendChild(messageBox); } } } } } function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function getForumLanguage() { var forumLanguage = getCookie('forumLanguage'); if(forumLanguage && verifyLanguage(forumLanguage)){ forumLanguage = forumLanguage.split('-')[0]; } else if (navigator && typeof navigator.language === 'string' && verifyLanguage(navigator.language)) { forumLanguage = navigator.language.split('-')[0]; } else { forumLanguage = "en"; } return forumLanguage; } function verifyLanguage(lan){ var languages = ['en', 'es', 'de', 'nl', 'nb', 'fr', 'ar', 'ja', 'pt', 'zh', 'vi', 'ko', 'ru', 'id', 'sv', 'cs']; var validLanguage=0; languages.forEach(function(element) { if(lan.split('-')[0] == element) { validLanguage = 1; } }); return validLanguage; } </script>
- Сохранить ваши изменения.
If you still need help, please contact us.