• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión

Ayuda Cómo cambiar el color del mensaje según grupo de pertenencia

#1
Buenas, trabajo en Xen Foro en una Red local en mi localidad, quisiera saber si existe alguna forma de diferenciar los cuerpos de mensaje o el mensaje de cada grupo, por ejemplo el administrador es color rojo, sus mensajes sean rojos, los moderadores color verde y que sus mensajes sean verdes y así sucesivamente con los demás grupos.
Gracias de antemano y buen día para usted.
 

lms

Administrador
#2
Busca en la plantilla post:
PHP:
       <xen:hook name="message_content" params="{xen:array 'message={$message}'}">
       <div class="messageContent">      
           <article>
               <blockquote class="messageText SelectQuoteContainer ugc baseHtml{xen:if $message.isIgnored, ' ignored'}">
                   <xen:include template="ad_message_body" />
                   {xen:raw $message.messageHtml}
                   <div class="messageTextEndMarker">&nbsp;</div>
               </blockquote>
           </article>
          
           {xen:raw $messageContentAfterTemplate}
       </div>
       </xen:hook>
Utilizando las Sentencias condicionales de XenForo, cambia la línea {xen:raw $message.messageHtml} por
Rich (BB code):
<xen:if is="{xen:helper ismemberof, $message.user_id, 3}">
<span class="admin" style="color:red !important;">{xen:raw $message.messageHtml}</span>
<xen:elseif is="{xen:helper ismemberof, $message.user_id, 4}" />
<span class="moderator" style="color:green !important;">{xen:raw $message.messageHtml}</span>
<xen:elseif is="{xen:helper ismemberof, $message.user_id, x}" />
<span class="colab" style="color:brown !important;">{xen:raw $message.messageHtml}</span>
<xen:else />
{xen:raw $message.messageHtml}
</xen:if>
Deberás cambiar la x por el id del grupo que corresponda y el color brown por el color que corresponda (puede ser hexadecimal, rgb, rgba, nominal, etc.) y repetir el bloque
Insertar CODE, HTML o PHP:
<xen:elseif is="{xen:helper ismemberof, $message.user_id, x}" />
<span style="color:brown !important;">{xen:raw $message.messageHtml}</span>
de antes del <xen:else /> tantas vaces como grupos quieras diferenciar.

Espero que te funcione. Si no lo hace habría que modificar el código o bien modificar la plantilla EXTRA.css y poner:
Rich (BB code):
.admin .messageText{color:red !important;}
.moderator .messageText{color:green !important;}
.colab .messageText{color:brown !important;}
Ya nos contarás.

salud2
 
Última edición:
#3
para xf2 sería lo mismo, al menos probé por el extra y no vi nada
y la plantilla post tiene esto
PHP:
<xf:if is="$canInlineMod">
    <xf:js src="xf/inline_mod.js" min="1" />
</xf:if>

<div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="post" data-href="{{ link('inline-mod') }}">
    <div class="block-container">
        <div class="block-body">
            <xf:macro template="post_macros" name="post" arg-post="{$post}" arg-thread="{$thread}" />
        </div>
    </div>
</div>
 
#4
buenas a todos y de ante mano gracias por el apoyo y atencion que me han brindado, señor Ims intente hacer lo que me dice en su comentario pero no funciona aqui le dejare como esta el blocke en mi foro y quizas usted me pueda decir como cambiar.
De hecho cuando hago el cambio en la linea <xen:if is="{xen:if '{$message.is_staff}', 'staff'}"> y cambio la palabra staff todos pierden el color y lo cogen por default, en sus comentarios veo que usted usa esta linea
<xen:if is="{xen:helper ismemberof, $message.user_id, 4}"> pero no veo donde está el id de cada grupo por eso no la puedo usar ya que en el blocke que esta en mi foro es por nombre aqui le dejo para que pueda ver...

<blockquote class="messageText SelectQuoteContainer ugc baseHtml{xen:if $message.isIgnored, ' ignored'}">
<xen:include template="ad_message_body" />
<xen:if is="{xen:if '{$message.is_staff}', 'staff'}">
<span class="post_webmaster" style="color:#80DEEA">{xen:raw $message.messageHtml}</span>
<xen:else />
{xen:raw $message.messageHtml}

saludos
 

lms

Administrador
#5
pero no veo donde está el id de cada grupo por eso no la puedo usar
Cuando posas el cursor encima del nombre del grupo, suele salir abajo la dirección web a la que va a ir el enlace.
2033.png
Así, https://tuWeb.com/admin.php?user-groups/moderador.4/edit verás que tiene el número 4 seguido de moderator (moderador.4). Eso quiere decir que el grupo moderador tiene el ID 4. Cuando lo haces encima del grupo administrador, verás admin.3, cuyo ID es el 3.
Otro método para saberlo es editar el grupo y leer la dirección web en la que estás (la misma que la anterior). Así sabrás todos los IDs de grupos.
Por norma:
  1. grupo invitados (sin confirmar/no registrados): ID 1
  2. grupo Registrados: ID 2
  3. grupo administrador: ID 3
  4. grupo moderador: ID 4

Los grupos que hayas creado tendrán el ID según el orden en el que los crearas. Siguiendo lo que te digo antes, podrás conocer cual es el ID de cada uno de ellos.

Salud2
 
Arriba