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.
- `/inc/xthreads/phptpl_allowed_funcs.txt` Por medio de un cliente FTP como FileZilla abre este archivo para editarlo.
- 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:
- 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.
- 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.
- 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.
- Input Field Type: `Multiline Textbox` Este sera un campo de texto que se comportara similar un mensaje.
- Editable by / Required Field?: `Everyone` Cualquier usuario podrá usar este campo en su tema y no sera obligatorio.
- Description: `El usuario deberá reaccionar para poder ver este contenido.`
- Field Input Width: `160`
- Field Input Height: `20`
- Display Parsing: `Use MyBB Parser (MyCode)`
- MyBB Parser Options: Las siguientes opciones serán seleccionadas:
- Allow newlines
- Filter Badwords
- Allow MyCode
- Allow [img] MyCode
- Allow [video] MyCode
- Parse Smilies
- Use Custom Input HTML: `Yes`
- 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).
- 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.
- 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.
- Viewable by Usergroups: Este campo sera visible para todos los usuarios, ustedes pueden restringir el contenido a ciertos grupos.
- 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.
- Ir a `Home » Board Settings » OUGC Custom Reputation`
- Active xThreads Hide Feature: Selecciona el campo que configuramos de xThreads.
Editar Templates
Finalmente, necesitamos editar dos templates de xThreads.
- `showthread_threadfield_row`:
Código:
<tr id="xt_{$k}"><td width="15%" class="{$bgcolor}"><strong>{$title}</strong></td><td class="{$bgcolor}">{$value}</td></tr>
- `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.