Help

Help > Forum > Argomenti e Post > Aggiungere un pulsante di messaggio diretto/privato ai post

Aggiungere un pulsante di messaggio diretto/privato ai post

Per impostazione predefinita, sulla scheda informativa utente viene visualizzato un pulsante «Messaggio» che viene visualizzato quando si passa con il mouse sopra (sul desktop) o si fa clic (sui dispositivi touch) sul nome utente o sull'avatar di un utente. Il pulsante consente a un utente di inviare messaggi direttamente e privatamente a un altro utente. Puoi seguire le istruzioni seguenti per aggiungere un pulsante «Messaggio diretto» all'interno dei post in modo che gli utenti possano inviare messaggi ad altri utenti senza dover prima visualizzare la scheda informativa utente.

Anteprima:

  1. Accedi al tuo account Website Toolbox.
  2. Fai clic su Integra link nella parte superiore della pagina.
  3. Fai clic su Codice personalizzato collegamento.
  4. Inserisci il codice seguente nel Codice HTML del tag principale del forum.
    <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>
    
  5. Inserisci il codice seguente nel Codice HTML del piè di pagina del forum.
    <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>
    
  6. Salva le tue modifiche.


If you still need help, please contact us.