[TUTORIAL] Tópicos similares

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Membro Entusiasta

[TUTORIAL] Tópicos similares Empty [TUTORIAL] Tópicos similares

Mensagem por Hancki 11.07.14 10:10


[TUTORIAL] Tópicos similares Ecrire10

Tópicos similares

Quando entramos em tópicos, as vezes queremos buscar tópicos similares. Com base nesse código e no tutorial podemos buscar tópicos similares, e realizando uma busca avançada, sem precisar ficar buscando pelo search.


--> Tutoriais, dicas e astúcias <--
Tópicos similares



- Código a ser utilizado:
Código:
if ($('#wrap').length) { // Verifica a existência em phpBB3
    // Kyo Panda & Hancki
    // Tópicos similares
    // phpBB3
    $(function () {
        var title, url, limit;
        limit = 5;
        url = location.pathname.replace(/^(\/t\d+)p\d+/, '$1');
        title = location.pathname.split('-').slice(1).join('+');
        $('<div>').load('/search?search_keywords=' + title + ' .forabg', function () {
            var self, rows;
            self = $(this);
            self.attr('id', 'similar').find('dt').text('Tópicos Similares');
            rows = self.find('.topiclist > .row');
            rows.filter(function (index) {
                return $('.topictitle', this).attr('href').split('?').shift() === url;
            }).remove();
            rows.slice(limit + 1, rows.length).remove();
            if (rows.length > 1) {
                self.insertAfter('.topic-actions:last');
            }
        });
    });
} else if ($('.pun').length) { // Verifica a existência em PunBB
    // Kyo Panda & Hancki
    // Tópicos similares
    // PunBB
    $(function () {
        if (location.href.indexOf('/t') !== -1) {
            var title, similar, topics, url, limit;
            limit = 5;
            url = /.*(\/t\d+[^#\?]*)/g.exec(location.href)[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3');
            title = $.trim($('.posthead h2 a').text());
            similar = $('<div id="similar-topics" class="main"></div>');
            similar.load('/search?search_keywords=' + encodeURIComponent(title) + ' .frm-form', function () {
                var rows;
                similar.find('> form').children().appendTo(similar);
                similar.find('>:not(.main-head):not(.main-content)').remove();
                similar.find('.page-title').text('Tópicos Similares');
                rows = similar.find('.statused tr');
                rows.filter(function (index) {
                    return /(\/t\d+[^#\?]*)/g.exec($('.topictitle', this).attr('href'))[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3') === url;
                }).remove();
                rows.slice(limit + 1, rows.length).remove();
                if (similar.find('.statused tr').length) {
                    similar.insertBefore('#pun-info');
                }
            });
        }
    });
} else if ($('td.bodyline').length) { // Verifica a existência em phpBB2
    // Kyo Panda & Hancki
    // Tópicos similares
    // phpBB2
    $(function () {
        if (location.href.indexOf('/t') !== -1) {
            var title, similar, topics, url, limit;
            limit = 5;
            url = /.*(\/t\d+[^#\?]*)/g.exec(location.href)[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3');
            title = $.trim($('h1.cattitle').text());
            similar = $('<div id="similar-topics"></div>');
            similar.load('/search?search_keywords=' + encodeURIComponent(title) + ' .forumline:first-child', function () {
                var rows;
                similar.find('h1.cattitle').text('Tópicos Similares');
                rows = similar.find('tr:nth-child(n+3):not(:last-child)');
                rows.filter(function (index) {
                    return /(\/t\d+[^#\?]*)/g.exec($('.topictitle', this).attr('href'))[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3') === url;
                }).remove();
                rows.slice(limit + 1, rows.length).remove();
                if (similar.find('tr:nth-child(n+3):not(:last-child)').length) {
                    similar.insertAfter('#page-body .forumline:last');
                }
            });
        }
    });
} else if ($('#ipbwrapper').length) { // Verifica a existência em Invision
    // Kyo Panda & Hancki
    // Tópicos similares
    // Invision
    $(function () {
        if (location.href.indexOf('/t') !== -1) {
            var title, similar, topics, url, limit;
            limit = 5;
            url = /.*(\/t\d+[^#\?]*)/g.exec(location.href)[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3');
            title = $.trim($('.postbody-head h3 a').text());
            similar = $('<div id="similar-topics"></div>');
            similar.load('/search?search_keywords=' + encodeURIComponent(title) + ' .borderwrap', function () {
                var rows;
                similar.find('.maintitle h1').text('Tópicos Similares');
                rows = similar.find('.ipbtable.search > tbody > tr');
                rows.filter(function (index) {
                    return /(\/t\d+[^#\?]*)/g.exec($('.topictitle', this).attr('href'))[1].replace(/(\/t\d+)(p\d+)?(.*)/g, '$1$3') === url;
                }).remove();
                rows.slice(limit + 1, rows.length).remove();
                if (similar.find('.ipbtable.search > tbody > tr').length) {
                    similar.appendTo('#main-content');
                }
            });
        }
    });
}


- Aplicando código JS:
As páginas javascript ativas em seu fórum possibilita inserir scripts e jquery para personalizar seu fórum, contudo é importante saber que qualquer script encontrado na internet acabam por não surgir efeito nos fóruns.

Painel de controle >> Módulos >> HTML & JavaScript >> Gestão dos códigos JavaScripts >>
[TUTORIAL] Tópicos similares Painel13
[TUTORIAL] Tópicos similares 110111Seta Título Correspondente ao nome da página JavaScript/jQuery que será criada.
[TUTORIAL] Tópicos similares 110210Seta Localização- São destinados os devidos locais para onde você aplicará os efeitos do JavaScript nos fóruns. No nosso caso, aplicaremos Em todas as páginas.
[TUTORIAL] Tópicos similares 110310Seta Código JavaScript Campo destinado para receber os códigos JavaScript e jQuery.
[TUTORIAL] Tópicos similares 110410Seta Habilitar o gerenciamento dos códigos JavaScript Ao selecionar a opção sim, estará ativando a função páginas Javascript no seu fórum. Se selecionar não, as páginas serão desabilitadas no fórum.

  • Resultado:
    [TUTORIAL] Tópicos similares KG6B8bZ




© Fórum dos Fóruns


[TUTORIAL] Tópicos similares Act_bottom Se tiver alguma dúvida relacionada com este tópico crie um tópico com o seguinte título:
[Dúvida] Tópicos similares
Hancki

Hancki
Membro Entusiasta
Membro Entusiasta

Membro desde : 03/10/2009
Mensagens : 8190
Pontos : 12245

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

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