Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Tutorial para Campos Personalizados en phpBB 3.0Tema Solucionado

Soporte de MODs para phpBB 3.0.x
Dudas sobre AutoMOD aquí por favor.
Cerrado
Avatar de Usuario
Megabyte
Elite
Mensajes: 1037
Registrado: 25 Dic 2010, 02:39
Edad: 43

Tutorial para Campos Personalizados en phpBB 3.0  Tema Solucionado

#1

Mensaje por Megabyte »

Nombre Tutorial: Tutorial para campos personalizados
Autor: Megabyte
Url del Autor: http://www.bosquesdecorazon.skn1.com
Basado en: PROSILVER
Descripción y uso:
Con este tutorial, crearas campos personalizados de selección desplegable, para luego mostrar imágenes.

Primero nos vamos al ACP:
Clic en Campos Personalizados y llenamos lo que requiera nuestro campo:
Imagen

Nos enviara a esta ventana y haz lo que dicen las notas según tu criterio:
Imagen

Bien, lo he llenado según lo que explicaré en esta guía:
Al terminar de llenarlas, clic en "opciones especificas de tipo de perfil"
Imagen

Nos aparece esta imagen, y le damos "opciones especificas de idioma"
Imagen

Como todo esta normal, le damos "Guardar"
Imagen

Nos aparece que todo salió bien:
Imagen

Ahora ya tenemos nuestro campo personalizado:
Imagen

Explicación de algunos fragmentos de nuestro código:

Sentencia que indica el inicio de tus campos personalizados:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->
Sentencia que indica el fin de tus campos personalizados:

Código: Seleccionar todo

<!-- END custom_fields -->
Sentencia que representa el nombre del campo personalizado:

Código: Seleccionar todo

{postrow.custom_fields.PROFILE_FIELD_NAME}
Sentencia que representa el valor del campo personalizado:

Código: Seleccionar todo

{postrow.custom_fields.PROFILE_FIELD_VALUE}
operadores utilizados aca:

eq es sinonimo de "igual", tambien representado asi: ==
neq es sinonimo de "no igual", tambien representado asi: !=
&& es sinonimo de "y", tambien representado asi: and

NOTA: cuando agregues campos personalizados, lo mejor es que nos los cambies de posicion y/o modifiques,
en algunos casos ya no muestra el resultado deseado.


Ahora veremos como modificar nuestro archivo
POr lo tanto, en el archivo styles/prosilver/template/viewtopic_body.html
encontraras esto:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->
             <dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
          <!-- END custom_fields -->
Y puedes personalizar todo lo que vaya dentro de esas "etiquetas".

Código: Seleccionar todo

<!-- BEGIN custom_fields -->
             Aqui puedes personalizar la manera de mostrar tus campos personalizados.
          <!-- END custom_fields -->
Ahora que hemos creado un campo personalizado llamado nivel, con permisos para que le usuario elija, y deseamos que el usuario
seleccione un "tipo de nivel", pero nosotros deseamos mostrarlo con una imagen, entonces
lo mostrariamos asi en cualquier parte de nuestro archivo:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->

        <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "nivel" -->
              <img src="{T_THEME_PATH}/images/{postrow.custom_fields.PROFILE_FIELD_VALUE}.png" alt="" />
              <br />
        <!-- ENDIF -->

	<!-- END custom_fields -->

NOTA:
1. Tomando en cuenta que tenemos en la carpeta ../styles/prosilver/theme/images
las imagenes con los siguentes nombres: Principiante, Normal, Intermedio, Alto, Vip, todas en formato png
2. Puedes cambiar el tipo de imagen a jpg o gif, pero tendrias que cambiar en el codigo: png por el tipo de imagen que desees.

Pero como deseamos mostrar el resto de campos personalizados, si los tienes o si en el futuro tendras, entonces
agregariamos lo siguiente (sin mostrar nuestro campo "nivel"):

Código: Seleccionar todo

<!-- BEGIN custom_fields -->
                   <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME neq "nivel" --> 
                                 <strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong>{postrow.custom_fields.PROFILE_FIELD_VALUE}<br />
                   <!-- ENDIF -->
                <!-- END custom_fields -->
con esto decimos que si el nombre de su campo personalizado no es "nivel" entonces mostrara el resto de campos de manera normal.

Y para agregar las dos sentencias juntas quedarian asi (mostrando nuestro campo nivel y los demas campos):

Código: Seleccionar todo

<!-- BEGIN custom_fields -->

        <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "nivel" -->
              <img src="{T_THEME_PATH}/images/{postrow.custom_fields.PROFILE_FIELD_VALUE}.png" alt="" />
              <br />
        <!-- ELSE -->
           <strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong>{postrow.custom_fields.PROFILE_FIELD_VALUE}<br />
        <!-- ENDIF -->

	<!-- END custom_fields -->
Si por ejemplo crearamos otro campo igual que nivel, digamos "equipoweb", y deseamos mostrar solo los campos normales, la sentencia seria asi:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->
                   <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME neq "nivel" && postrow.custom_fields.PROFILE_FIELD_NAME neq "equipoweb" --> 
                                 <strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong>{postrow.custom_fields.PROFILE_FIELD_VALUE}<br />
                   <!-- ENDIF -->
                <!-- END custom_fields -->
otra forma de mostrarlo seria asi, con el mismo resultado de arriba:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->

        <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "nivel" -->
       <!-- ELSEIF postrow.custom_fields.PROFILE_FIELD_NAME eq "equipoweb" -->
        <!-- ELSE -->
               <strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong>{postrow.custom_fields.PROFILE_FIELD_VALUE}<br />
        <!-- ENDIF -->

	<!-- END custom_fields -->
y para solo mostrar los dos campos personalizados:

Código: Seleccionar todo

<!-- BEGIN custom_fields -->

        <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "nivel" -->
              <img src="{T_THEME_PATH}/images/{postrow.custom_fields.PROFILE_FIELD_VALUE}.png" alt="" />
              <br />
        <!-- ENDIF -->
       <!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "equipoweb" -->
              <br />
              <img src="{T_THEME_PATH}/images/{postrow.custom_fields.PROFILE_FIELD_VALUE}.gif" alt="" />
              <br />
        <!-- ENDIF -->

	<!-- END custom_fields -->
Tambien podriamos mediante los campos personalizados mostrar una imagen de diferentes carpetas:

Código: Seleccionar todo

<img src="{T_THEME_PATH}/{postrow.custom_fields.PROFILE_FIELD_VALUE}/miimagen.gif" alt="" />
Estos son algunos ejemplos, espero poder ir agregando mas, aunque con esto creo que podremos ir manejando nuestros campos personalizados de una mejor manera.

Saludos.
:lee
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Cerrado

Volver a “Soporte de MODs”