Cargando...
Rango
Sexo
Mensajes
Última visita
Miembro desde

Foro Nube » Servicios » Soporte Foroactivo

Foro Cerrado
Este foro se encuentra cerrado de forma indefinida. Puedes utilizarlo para revisar material antiguo que desees recuperar.

[PunBB] Box List no funciona (No abre)

Creado por ,

Mensaje [Página 1 de 1.]

Srz

Publicado Sáb 6 Dic - 23:12

Srz
Es simple, el codigo debería hacer que la caja de Mensajería abra pero no lo hace, este es el codigo js.

Código:
$(document).ready(function() {
 
//*Defina aqui abaixo a quantidade de mensagens que irão ser exibidas.*//
var qtd = 5;
 
$('body').append('<div id="bs_full_inbox"></div>');
var Inner = '<div class="bs_inbox_header">' +
            '  <a href="/privmsg?mode=post" class="compose" target="_self">Nova Mensagem</a>' +
            '  <h4 class="bs_inbox_sectionHead">Caixa de entrada</h4>' +
            '</div>' +
            '<ol class="bs_inbox_inner">' +
            '  <img src="http://i.imgur.com/DYwSiJf.gif" style="margin: 5px auto;display: block" />' +
            '</ol>' +
            '<div class="bs_inbox_footer">' +
            '  <a href="/privmsg?folder=inbox">Ir Para Mensagens</a>' +
            '</div>';
var oInbox = $('#bs_full_inbox');
oInbox.append(Inner);
$('a.mainmenu[href="http://musicinstant.host-es.com/privmsg"]').click(function(d) {
d.preventDefault();
if(oInbox.css('display') != 'none') {
   oInbox.fadeOut('450');
} else {
  oInbox.css({
         'left': $(this).offset().left + $(this).outerWidth() - $(this).outerWidth(),
         'top': $(this).offset().top + $(this).outerHeight()
      }).show();
if($('.bs_inbox_photo').length != -1) {
   $('.bs_inbox_inner').load('/privmsg?folder=inbox .tdtopics:lt('+qtd+')', function() {
       $(this).html(
           $(this).html()
           .replace(/\<\/td\>/g, '</span></div></li>')
           .replace(/\<td class="tcl tdtopics"\>/g, '<li class="bs_inbox_li clearfix"><div class="bs_user_p left"><img class="bs_inbox_photo" alt="photo" src="http://i.imgur.com/n4qY3fc.png" /></div><div class="bs_inbox_item">')
           ).find('span.status').remove();
     $('.bs_inbox_li').each(function(index) {
             var user = $(this).find('a[href^="/u"]');
                if(user.length) {
                user = user.attr('href');
                var oImg = $(this).find('.bs_inbox_photo');
                var userImage = sessionStorage.getItem(user);
                   if(userImage) {
                    oImg.attr('src', userImage);
                   } else {
                     $.get(user, function(data) {
                     var image = $('#profile-advanced-right .main-content img:first', data).attr('src');
                     oImg.attr('src', image);
                     sessionStorage.setItem(user, image);
                     });
                   }
                }
     });
   });
}
}
});
});

A 0 usuarios le gusta esto
Bret

Publicado Sáb 6 Dic - 23:21

Bret
Administrador
El problema es que tienes una plantilla modificada y el código está preparado para una versión sin modificar. Con la siguiente modificación al código debería funcionar.

Código:
$(document).ready(function() {
 
//*Defina aqui abaixo a quantidade de mensagens que irão ser exibidas.*//
var qtd = 5;
 
$('body').append('<div id="bs_full_inbox"></div>');
var Inner = '<div class="bs_inbox_header">' +
            '  <a href="/privmsg?mode=post" class="compose" target="_self">Nova Mensagem</a>' +
            '  <h4 class="bs_inbox_sectionHead">Caixa de entrada</h4>' +
            '</div>' +
            '<ol class="bs_inbox_inner">' +
            '  <img src="http://i.imgur.com/DYwSiJf.gif" style="margin: 5px auto;display: block" />' +
            '</ol>' +
            '<div class="bs_inbox_footer">' +
            '  <a href="/privmsg?folder=inbox">Ir Para Mensagens</a>' +
            '</div>';
var oInbox = $('#bs_full_inbox');
oInbox.append(Inner);
$('#user_navigation .ipsList_inline a[href*="/privmsg"]').click(function(d) {
d.preventDefault();
if(oInbox.css('display') != 'none') {
   oInbox.fadeOut('450');
} else {
  oInbox.css({
         'left': $(this).offset().left + $(this).outerWidth() - $(this).outerWidth(),
         'top': $(this).offset().top + $(this).outerHeight()
      }).show();
if($('.bs_inbox_photo').length != -1) {
   $('.bs_inbox_inner').load('/privmsg?folder=inbox .windowbg2:lt('+qtd+') td:nth-child(3)', function() {
       $(this).html(
           $(this).html()
           .replace(/\<\/td\>/g, '</span></div></li>')
           .replace(/\<td class="tcl tdtopics"\>/g, '<li class="bs_inbox_li clearfix"><div class="bs_user_p left"><img class="bs_inbox_photo" alt="photo" src="http://i.imgur.com/n4qY3fc.png" /></div><div class="bs_inbox_item">')
           ).find('span.status').remove();
     $('.bs_inbox_li').each(function(index) {
             var user = $(this).find('a[href^="/u"]');
                if(user.length) {
                user = user.attr('href');
                var oImg = $(this).find('.bs_inbox_photo');
                var userImage = sessionStorage.getItem(user);
                   if(userImage) {
                    oImg.attr('src', userImage);
                   } else {
                     $.get(user, function(data) {
                     var image = $('#profile-advanced-right .main-content img:first', data).attr('src');
                     oImg.attr('src', image);
                     sessionStorage.setItem(user, image);
                     });
                   }
                }
     });
   });
}
}
});
});

Además, vete a la plantilla que corresponde a la bandeja de entrada y el elemento TD que debe tener el enlace del mensaje privado agrégale la siguiente clase:

Código:
tcl tdtopics

A 0 usuarios le gusta esto
Srz

Publicado Dom 7 Dic - 18:10

Srz
Gracias pero... Ahora el problema es que no salen los nombres de los usuarios ni la foto:

[PunBB] Box List no funciona (No abre) Xqj3gl

A 0 usuarios le gusta esto
Bret

Publicado Miér 10 Dic - 18:39

Bret
Administrador
El problema es que el código está basado en las clases originales de la plantilla y tu las has eliminado, por lo que habría que crear muchas exepciones para diferenciar varios elementos sin clases. La solución más fácil es volver a poner las mismas clases a los elementos TD del apartado de la bandeja de entrada.

A 0 usuarios le gusta esto
Srz

Publicado Jue 11 Dic - 23:50

Srz
Es decir, colocar la plantilla nueva del Overall header? o la de privmsg?

A 0 usuarios le gusta esto
Bret

Publicado Vie 12 Dic - 15:41

Bret
Administrador
Debes agregar las clases originales a los TD correspondientes a la bandeja de entrada (sí, el de la plantilla privmsg_body).

A 0 usuarios le gusta esto
Contenido patrocinado

Publicado

A 0 usuarios le gusta esto

Con la tecnología de Foroactivo y punBB