Boas-vindas ao Power Pixel

Junte-se a comunidade! Crie o seu próprio conteúdo, e faça amizades.EntrarCriar uma conta

Greed Greed  • Qua 19 Jun 2013 - 18:33

[AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Empty [AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Qua 19 Jun 2013 - 18:33

Qual é minha questão:
Bom, eu queria usar o perfil IPB que o JScript fez, mas eu tbm uso o avatar nos últimos assuntos
e pra usa-lo tem que ter o perfil avançado ativo e pra usar o perfil tem que desativar,
como faço pra usar os dois me ajudem por favor !

Endereço do meu fórum:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Versão:
PunBB

[F]lames [F]lames  • Qui 20 Jun 2013 - 10:17

[AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Empty Re: [AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Qui 20 Jun 2013 - 10:17

Olá,

Ative o perfil do JScript para que eu possa adaptar o código dos avatares nos últimos assuntos...

Até mais.

Anonymous Convidad  • Qui 20 Jun 2013 - 10:44

[AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Empty Re: [AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Qui 20 Jun 2013 - 10:44

@Greed
Olá amigo!

Aqui está o template Index_box que uso para o efeito:
Código:

<!-- Backup
<div class="pun-crumbs">
 <p class="crumbs"><a href="{U_INDEX}">{L_INDEX}</a><strong>{NAV_CAT_DESC}</strong></p>
</div>
-->
<div class="main">
<!-- BEGIN catrow -->
 <!-- BEGIN tablehead -->
 <div class="main-head">
 <div class="page-title">{catrow.tablehead.L_FORUM}</div>
 </div>
 <div class="main-content">
 <table cellspacing="0" class="table">
                <!-- Backup
 <thead>
 <tr>
 <th class="tcl">{L_FORUM}</th>
 <th class="tc2">{L_TOPICS}</th>
 <th class="tc3">{L_POSTS}</th>
 <th class="tcr">{L_LASTPOST}</th>
 </tr>
 </thead>
                -->
 <tbody class="statused">
 <!-- END tablehead -->

 <!-- BEGIN forumrow -->
 <tr>
                        <!-- Column for Icons -->
 <td class="tc_icon">
 <span class="status">
 <img title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" src="{catrow.forumrow.FORUM_FOLDER_IMG}" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" />
 </span>
 </td>
                        
                        <!-- Column for Title & Description -->
 <td class="tcl"> <!-- Backup style="padding-right: {catrow.forumrow.INC_LEVEL_RIGHT}; padding-left: {catrow.forumrow.INC_LEVEL_LEFT};"> -->
 <!-- Backup
 <span class="status" style="margin-right: -{catrow.forumrow.INC_WIDTH_ICON}; margin-left: -{catrow.forumrow.INC_WIDTH_ICON};">
 <img title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" src="{catrow.forumrow.FORUM_FOLDER_IMG}" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" />
 </span>
 -->
 <h{catrow.forumrow.LEVEL} class="hierarchy">
                                <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumtitle">{catrow.forumrow.FORUM_NAME}</a>
                            </h{catrow.forumrow.LEVEL}>
 <br />
                            <div class="desc ipsType_small">
 {catrow.forumrow.FORUM_DESC}
 <!-- BEGIN switch_moderators_links -->
 <br />
 {catrow.forumrow.switch_moderators_links.L_MODERATOR}{catrow.forumrow.switch_moderators_links.MODERATORS}
 <!-- END switch_moderators_links -->
 {catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}
 <strong>{forumrow.L_SUBFORUM_STR}</strong> {forumrow.SUBFORUMS}
 </div>
 </td>
 <!-- Backup <td class="tc2"></td> -->
                        
                        <!-- Column for Topic info -->
 <td class="tc3 ipsType_small">
                            <strong id="index_topics">{catrow.forumrow.TOPICS}</strong> tópicos<br />
                            <strong id="index_replies">{catrow.forumrow.POSTS}</strong> respostas
                        </td>
                        
                        <!-- Column for Last Post -->
 <td class="tcr">
 <!-- Backup
 <span>
 <a href="{catrow.forumrow.U_LATEST_TOPIC}" title="{catrow.forumrow.LATEST_TOPIC_TITLE}">{catrow.forumrow.LATEST_TOPIC_NAME}</a><br />
 {catrow.forumrow.USER_LAST_POST}
 </span>
 -->
 <!-- BEGIN switch_topic_title -->
 <a href="" class="ipsUserPhoto">
                                <img src="http://i78.servimg.com/u/f78/18/17/62/92/defaul10.png" alt="User image" class="ipsUserPhoto_mini">
                            </a>
 <!-- END switch_topic_title -->
 <ul class="last_post ipsType_small">
 <li>
 <!-- BEGIN switch_topic_title -->
 <a title="{catrow.forumrow.LATEST_TOPIC_TITLE}" href="{catrow.forumrow.U_LATEST_TOPIC}">{catrow.forumrow.LATEST_TOPIC_NAME}</a>
 <!-- END switch_topic_title -->
 </li>
 <li class="desc lighter blend_links">{catrow.forumrow.USER_LAST_POST}</li>
 </ul>
 </td>
 </tr>
 <!-- END forumrow -->

 <!-- BEGIN tablefoot -->
 </tbody>
 </table>
 </div>
 <!-- END tablefoot -->
<!-- END catrow -->
    <div class="main-head">
        <div class="page-title">
            <h2>Membro mais novo</h2>
        </div>
    </div>
    <div class="main-content">
        <table cellspacing="0" class="table">
            <tbody class="statused">
                <!-- / CAT HEADER -->
                <tr class="">
                    <td class="col_c" id="recent_member" style="height: 171px;">
                        <!--/ Code here! -->
                    </td>
                </tr>            
            </tbody>
        </table>
    </div>
</div>

<script type="text/javascript">
    //<![CDATA[
    var target = $('td.tcr').find('li.desc.lighter.blend_links');
    target.each(function(index){
        var UserURL = $(this).find('a.gensmall').attr('href');
        var Desc = $(this).parent().find('li a');
        
        if (Desc.text() == '') {
            Desc.text('Não há posts para visualizar');
        }
        if($.trim(UserURL) !== '') {
            var found = $(this).parent().parent().find('.ipsUserPhoto_mini');
            var caching_time = 24*60*60*1000;
            var caching_error = 60*1000;
            
            if(localStorage.getItem('avatar_date' + index) <+new Date-caching_time || localStorage.getItem('avatar_date' + index) <+new Date-caching_error) {
                $.get(UserURL, function(data){
                    var avtPrf = $('#profile_tabs p img', data).attr('src');
                    /*
                    if(avtPrf.length > 0) {
                        found.attr('src', avtPrf);
                    }*/
                    found.attr('src', avtPrf);
                    localStorage.setItem('avatar_img' + index, avtPrf);
                    localStorage.setItem('avatar_date' + index, +new Date);
                });
            } else {
                found.attr('src', localStorage.getItem('avatar_img'+ index));
            }
        };
    });
    
    var target = $('td.tc3.ipsType_small');
    target.each(function(index){
        var adjust = $(this).find('#index_replies');
        var repplies = adjust.text();
        adjust.text(repplies - $(this).find('#index_topics').text());
    });
    $(document).ready(function() {
        var UserURL = $('#statistics').find('li.lastUser strong a').attr('href');
        var recmb = $('#recent_member');
        /*
        var storeData = sessionStorage.getItem('recent_member');
        if (storeData) {
            $('#recent_member').html(storeData);
            return false
        }*/
        recmb.load(UserURL + ' #profile_background .ipsVerticalTabbed', function() {
            var prof = $('#recent_member #profile_content_main');
            recmb.find('ul.clear2').hide();
            var panes = recmb.find('#profile_panes_wrap');
            panes.hide();
            prof.css('margin-bottom', '0');
            prof.find('#user_status_cell').hide();
            prof.find('#user_utility_links').css('float', 'right');
            recmb.find('#profile_photo').css({ 'max-height' : '138px', 'max-width' : '138px' });
            recmb.find('.ipsVerticalTabbed_content').css({ 'min-height' : '100px', 'max-height' : '238px' });
            recmb.find('div.warn_panel').remove();
            $('#profile_tabs').append('<p style="text-align: center;"><strong>Seja bem vindo!</strong></p>');
            /*sets default user image*/
            var $Sel = $('#profile_tabs').find('p.short.photo_holder');
            if($.trim($Sel.find('img').attr('src')) =='') {
                $Sel.append('<img alt="- foto" src="http://2img.net/i/fa/invision/pp-blank-thumb.png" id="profile_photo" class="ipsUserPhoto">');
                $('#photo_popup_inner #ips_currentPhoto').append('<img alt="- foto" src="http://2img.net/i/fa/invision/pp-blank-thumb.png" id="profile_photo" class="ipsUserPhoto">');
            } else {
                $Sel.find('img').attr('id','profile_photo').addClass('ipsUserPhoto');
            }
            /*sets joined in*/
            $('#user_info_cell').find('span.joined_in').html($('#field_id-4').find('div.field_uneditable').text()); /*id-4 => "Data de inscrição"*/
           /*sets state*/
            if($.trim($('#user_status').text()) == 'conectado') {
                $('#user_info_cell #user_connected').html('online').addClass('ipsBadge_green').removeClass('ipsBadge_lightgrey');
            } else {
                $('#user_info_cell #user_connected').html('offline').addClass('ipsBadge_lightgrey').removeClass('ipsBadge_green');
            };
            var inter = $.trim(panes.find('#field_id-11 div.field_uneditable').text());
            var magic = $.trim(panes.find('#field_id-9 div.field_uneditable').text());
            if (inter == '-'){inter = "Sem informações";}
            if (magic == '-'){magic = "Sem informações";}
            prof.append(
                '<br><div class="general_box clearfix" style="margin-top: 25px; margin-bottom: 5px;"><h3 style="padding: 2px;"></h3></div>',
                '<p><strong>Localização: </strong>' + inter + '</p><p><strong>Emprego/Lazer: </strong>' + magic + '</p>'
            );
            /*sessionStorage.setItem('recent_member', $('#recent_member').html());*/
       });
    });
    //]]>
</script>

<!-- BEGIN switch_on_index -->
<div class="main-box clearfix" style="display: none;">
 <ul>
 <li><a href="{U_TODAY_ACTIVE}">{L_TODAY_ACTIVE}</a></li>
 <li><a href="{U_TODAY_POSTERS}">{L_TODAY_POSTERS}</a></li>
 <li><a href="{U_OVERALL_POSTERS}">{L_OVERALL_POSTERS}</a></li>
 </ul>
 <!-- BEGIN switch_delete_cookies -->
 <p class="right">
 <a href="{switch_on_index.switch_delete_cookies.U_DELETE_COOKIES}">{switch_on_index.switch_delete_cookies.L_DELETE_COOKIES}</a>
 </p>
 <!-- END switch_delete_cookies -->
</div>
<!-- END switch_on_index -->
O código faz uso da função localStorage para não sobrecarregar o servidor evitando requisições a cada atualização da página pois o avatar fica gravado no HD do membro!
Resultado:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Já inclui a categoria [Membro mais novo]!
Resultado:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

JS

Daemon Daemon  • Qui 20 Jun 2013 - 11:31

[AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Empty Re: [AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Qui 20 Jun 2013 - 11:31

Depois de ativar o perfil do JScript, pra o avatar do widget de últimos assuntos utilize esse Script:
Código:
jQuery(document).on('ready', function() {
jQuery('.avt_recent').prepend('<div class="avt-r"><div>');
jQuery('.avt_recent .avt-r').each(function () {
var profileUserURL = jQuery(this).parent().children('.recent_space').children('a:last').attr('href');
jQuery(this).html('<a href="' + profileUserURL + '" class="avt-r-enlace"><img src="http://r26.imgfast.net/users/2617/31/90/74/avatars/1-40.png" alt="No Avatar" /></a>');
jQuery(this).children('a').load(profileUserURL + ' #profile_tabs p.short')
});
});
Até mais!

Anonymous Convidad  • Qui 20 Jun 2013 - 11:38

[AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Empty Re: [AJUDA] Utiliza perfil IPB e avatar nos últimos assuntos. Qui 20 Jun 2013 - 11:38

Mas Daemon o teu código sobrecarrega o servidor com requisições a cada atualização da página e além de ser adicionado na seção [JavaScript] que está sujeita a conflitos com outros códigos, no template não tem esse problema!!

O código que passei faz uso da função localStorage para não sobrecarregar o servidor evitando requisições a cada atualização da página pois o avatar fica gravado no HD do membro!

Editado: Agora que eu entendi o que ele quer, é usar no widget [Últimos assuntos]...

JS


Última edição por JScript em Qui 20 Jun 2013 - 11:42, editado 1 vez(es) (Motivo da edição : Agora que eu entendi o que ele quer, é usar no widget [Últimos assuntos]...)

Greed Greed  • Dom 30 Jun 2013 - 11:44

Daemon Daemon  • Dom 30 Jun 2013 - 11:47

Conteúdo patrocinado  • 

Permissões neste sub-fórum
Não podes responder a tópicos