1.8  [OUGC Custom Reputation + xThreads] Pide a usuarios reaccionar para mostrar contenido
Hola. A continuación les comparto cómo utilizar la característica avanzada de OUGC Custom Reputation para ocultar contenido o campos de xThreads hast...

[Imagen: 9hNUDMH.gif]

Hola. A continuación les comparto cómo utilizar la característica avanzada de OUGC Custom Reputation para ocultar contenido o campos de xThreads hasta que el usuario reaccione al tema. Deben notar que xThreads solo funciona en el primer mensaje (tema) y por lo tanto esta característica no funciona en mensajes.

Para este tutorial usaremos la función básica de OUGC Custom Reputation, la cual nos permite pedir que un usuario reaccione con cualquier reacción disponible en el foro, posteriormente podremos subir algun tutorial para solicitar una reacción en específico.

Por esta razón nos saltaremos la creación de reacciones, este tutorial supone que ustedes ya crearon las reacciones y estas están a disposición del usuario para utilizarlas.

Configurar `phptpl_allowed_funcs.txt`
Lo primero será agregar la función de OUGC Custom Reputation a la lista de funciones accesibles en xThreads. Si ya configuraste el campo de xThreads necesitarás guardar el campo para que se actualice el cache.

  1. `/inc/xthreads/phptpl_allowed_funcs.txt` Por medio de un cliente FTP como FileZilla abre este archivo para editarlo.
  2. Algrega `ougc_customrep_xthreads_hide` al final del archivo en su propia linea.


Campo xThreads
Entonces continuaremos con la configuración del campo de xThreads. Para este caso utilizaremos un campo de texto básico. Entonces lo configuramos como se dicta a continuación:

  1. Key: `ougc_customrep_content` Se puede utilizar cualquier, solo nota las menciones de este campo en todo el tutorial para poder configurar cuantos campos gustes en tu foro.
  2. Applicable Forums: Este campo aplica en todos los foros por que en este tutorial se considera que todos los foros tienen reacciones disponibles. Si el usuario no tiene reacciones disponibles nunca podrá ver el contenido oculto.
  3. Hide Thread Field: No deben activar ninguna de estas dos opciones ya que el soporte de Ajax no funcionara y el usuario necesitara refrescar la pagina. Es posible activar estas opciones sin perder el soporte de Ajax pero eso no es parte de este tutorial.
  4. Input Field Type: `Multiline Textbox` Este sera un campo de texto que se comportara similar un mensaje.
  5. Editable by / Required Field?: `Everyone` Cualquier usuario podrá usar este campo en su tema y no sera obligatorio.
  6. Description: `El usuario deberá reaccionar para poder ver este contenido.`
  7. Field Input Width: `160`
  8. Field Input Height: `20`
  9. Display Parsing: `Use MyBB Parser (MyCode)`
  10. MyBB Parser Options: Las siguientes opciones serán seleccionadas:
    • Allow newlines
    • Filter Badwords
    • Allow MyCode
    • Allow [img] MyCode
    • Allow [video] MyCode
    • Parse Smilies
  11. Use Custom Input HTML: `Yes`
  12. Input Field HTML:
    Código:
    <script type="text/javascript">
    <!--
        $(document).ready(function() {
            OUGC_CustomReputation.xThreadsHideSet('ougc_customrep_content');
        });
    //-->
    </script>

    Este evitara que el campo se oculte en la página de editar tema (una característica de este plugin que no aplicamos en este tutorial).
  13. Blank Replacement Value:
    Código:
    <script type="text/javascript">
    <!--
        $(document).ready(function() {
            $('#xt_ougc_customrep_content').hide();
        });
    //-->
    </script>

    Esto ocultará el campo de xThreads si no tiene contenido.
  14. Display Format:
    Código:
    <?=ougc_customrep_xthreads_hide({VALUE})?>

    Este código hará el trabajo, cuenta con mas opciones pero ninguna es parte de este tutorial.
  15. Viewable by Usergroups: Este campo sera visible para todos los usuarios, ustedes pueden restringir el contenido a ciertos grupos.
  16. Guarda el campo.

Los campos que aquí no se describen están a consideración del administrador.

Configurar OUGC Custom Reputation
Finalmente deberemos configurar las opciones de OUGC Custom Reputation.


  1. Ir a `Home » Board Settings » OUGC Custom Reputation`
  2. Active xThreads Hide Feature: Selecciona el campo que configuramos de xThreads.

Editar Templates
Finalmente, necesitamos editar dos templates de xThreads.

  1. `showthread_threadfield_row`:
    Código:
    <tr id="xt_{$k}"><td width="15%" class="{$bgcolor}"><strong>{$title}</strong></td><td class="{$bgcolor}">{$value}</td></tr>

  2. `post_threadfields_inputrow`:
    Código:
    <tr class="xthreads_inputrow" id="xt_{$tf['field']}">
    <td class="{$altbg}" width="20%"><strong>{$tf['title']}</strong></td>
    <td class="{$altbg}">{$inputfield}<small style="display: block;">{$tf['desc']}</small></td>
    </tr>

Básicamente solo estamos agregando un ID a la etiqueta HTML padre de esos templates. Esto permite que ambos, el ocultamiento del campo en la pagina de editar tema y el soporte de Ajax para actualizar el contenido funcionen.

Con OUGC Custom Reputation decidi agregar esta integracion con xThreads por que el plugin ofrece muchas herramientas, por ejemplo para crear campos de archivos. Ustedes pueden probar esta función en este foro, por ejemplo en el tema Ratings utilizando Semantic UI, dende necesitan reaccionar al tema para poder descargar el archivo adjunto agregado con xThreads.

Espero les sirva pronto podría expandir el tutorial para mas funciones que ofrece el plugin.
{SIGNATURE_IMAGE}
Última modificación: 7 Apr, 2020, 9:58 am por Omar G..
Muy buena idea bro, creí que xthreads ya no existía o:
Sigue actualizado y lo utilizo en todos mis proyectos.
{SIGNATURE_IMAGE}
Última modificación: 23 Oct, 2020, 12:50 am por Omar G..
(23 Oct, 2020, 12:50 am)Omar G. escribió: Sigue actualizado y lo utilizo en todos mis proyectos.

Me consta que es quizás tu plugin favorito o al menos el que más utilizas, tiene muchísimo potencial, aunque es cierto que para los que no sabemos como yo nos resulta un poco más complicado emplearlo.
Buen tuto y buen plugin, ya estoy trabajando en la traducción para mi foro, este fin de semana lo comparto por acá.
muchas gracias por compartir omar cuanto tiempo perdido de la comunidad quiero volver a retomar con un proyecto que tengo en mente y esta modificación me servirá mucho que tiempos aquellos de la comunidad ojala vuelva a sus buenos tiempo y tengamos noticias oficiales de la nueva version de MyBB
Hola @DarkEternity, me alegra que te sirva esta modificación de alguna manera.

MyBB sigue evolucionando, aunque probablemente no al paso esperado por algunos, y con esto quiero decir que aquí seguiremos para quien lo necesite aunque la actividad sea prácticamente nula.

Saludos 👍
{SIGNATURE_IMAGE}