Ir para conteúdo

Adicionando "Moderadores do Fórum".


PedroAntonio

Posts Recomendados

Se você tem um fórum, com um monte de moderadores, as chances são moderadores são designados para fóruns individuais. Infelizmente, agora XenForo não tem como mostrar os moderadores de um fórum específico, nesse fórum ... Então eu fiz isso usando ganchos no meu fórum ... 
 
Eu faço toda a personalização no meu fórum para um produto chamado "EWRcustom" , É basicamente um add-on que eu não liberar para o público, que contém todas as minhas configurações personalizadas e alterações. Este add-on tem coisas como minha lista de grade de fórum sub, colocações de anúncio, thread separações pegajosas, fitas de usuário, etc Existem muitos ganchos, modelos personalizados, ouvintes etc neste add-on personalizado do meu, mas não vou liberar A maioria deles para o público. 
 
Hoje eu apenas adicionei "moderadores do fórum" a este produto e agora vou mostrar-lhe como ... 
 
Abaixo está a minha classe ouvinte: (Eu removi outras modificações desta classe para este tutorial)
 
<? Php

Classe EWRcustom_Listener_Template
{
    Public static function template_create ($ templateName, array & $ params, XenForo_Template_Abstract $ template)
    {
        Switch ($ templateName)
        {
            Caso 'forum_view':
                $ Template-> preloadTemplate ('EWRcustom_forum_view_pagenav_before');
                pausa;
        }
    }

    Public static function template_hook ($ hookName, & $ contents, array $ hookParams, XenForo_Template_Abstract $ template)
    {
        Switch ($ hookName)
        {
            Caso 'forum_view_pagenav_before':
            {
                $ ModModel = XenForo_Model :: create ('XenForo_Model_Moderator');
                $ Conditions = array ('content' => array ('node', $ hookParams ['fórum'] ['node_id']));
                $ HookParams ['moderadores'] = $ modModel-> getContentModerators ($ conditions);
                $ HookParams ['modCount'] = count ($ hookParams ['moderadores']);

                $ Contents. = $ Template-> create ('EWRcustom_forum_view_pagenav_before', $ hookParams);
                pausa;
            }
        }
    }
}

Isso é muito simples ... primeiro ele precaches um modelo personalizado chamado "EWRcustom_forum_view_pagenav_before". Então olha para o gancho 'forum_view_pagenav_before' que está dentro do modelo mestre "forum_view". Quando ele encontra esse modelo, ele instancia esse modelo de moderador, envia o node_id como uma condição e busca todos os mdoerators para esse fórum. Em seguida, ele cria o modelo personalizado e anexa-o ao gancho. 

 
Em seguida, crio esse modelo personalizado "EWRcustom_forum_view_pagenav_before".
 
<Xen: if is = "{$ modCount}">
    <Style type = "text / css">. PageContent {posição: relativo; } </ Style>
    <Div class = "sectionMain" style = "position: absolute; top: 45px; right: 20px;">
        <B> {xen: moderadores de frase}: </ b>

        <Xen: foreach loop = "$ moderators" value = "$ moderator" i = "$ i">
            <a href="{xen:link members, $moderator}" class="username"> {$ moderator.username} </a> <xen: if is = "{$ i} <{$ modCount}">, </ Xen: if>
        </ Xen: foreach>
    </ Div>
</ Xen: if>

Em seguida, basta criar os dois ouvintes de código de evento em seu AdminCP e seus moderadores serão listados! 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...