• ¡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
Icono de recurso

Tutorial Cómo ....

Cuando implementamos un estilo personalizado, no siempre es posible obtener el resultado deseado usando solo las propiedades del estilo o CSS.
Hay veces en que es necesario editar la plantilla.


La forma más simple de aplicar una clase personalizada es editando el elemento y agregando algo así como:
Rich (BB code):
<div class="section threadList miClasePersonalizada">
La clase miClasePersonalizada se definirá en la plantilla EXTRA.css o cualquier otra plantilla de CSS aplicable.


Usando sentencias condicionales, es posible aplicar diferentes estilos basados en si se cumple o no la condición.
Véase este recurso para mayor información del uso de sentencias condicionales: https://xenfacil.com/recursos/sentencias-condicionales-de-xenforo.24/

Este ejemplo muestra como puede obtenerse al duplicar una línea de código existente y agregar una clase (miClasePersonalizada) si es cierta la condición ($algo):
Rich (BB code):
<xen:if is="{$algo}">
   <div class="section threadList miClasePersonalizada">
<xen:else />
    <div class="section threadList">
</xen:if>

Usando xen:elseif se pueden expandir las sentencias para agregar más condiciones:
Insertar CODE, HTML o PHP:
<xen:if is="{$algo}">
   <div class="section threadList miClasePersonalizada">
<xen:elseif is="{$algoMas}" />
    <div class="section threadList miOtraClasePersonalizada">
<xen:else />
    <div class="section threadList">
</xen:if>

Un método alternativo es usar los métodos en línea de sentencias condicionales.

La versión más simple de agregar una clase personalizada (miClasePersonalizada) si coinicde la condición ($algo):
Rich (BB code):
<div class="section threadList {xen:if '{$algo}', 'miClasePersonalizada'}">

Advierte que para un solo caso como el de arriba, no son necesarias las comillas simples por lo que realmente podrían escribirse como:
Insertar CODE, HTML o PHP:
<div class="section threadList {xen:if $algo, miClasePersonalizada}">
Sin embargo, esta sintaxis no funciona en todos los casos bien por condiciones más complejas, caracteres no alfanuméricos, etc.


También puede expandirse para agregar una clase si es cierta la condición (miClasePersonalizada) o agregar una clase diferente en caso contrario (miOtraClasePersonalizada).
Rich (BB code):
<div class="section threadList {xen:if '{$algo}', 'miClasePersonalizada', 'miOtraClasePersonalizada'}">

También pueden evaluarse las condiciones como valores o como variables, algo así como:
Insertar CODE, HTML o PHP:
<div class="section threadList {xen:if "{$algo} == {$cosa}", 'miClasePersonalizada'}">

Pueden anidarse condiciones:
Insertar CODE, HTML o PHP:
<div class="section threadList {xen:if '{$algo}', {xen:if '{$algoMas}', 'miClasePersonalizada', 'miOtraClasePersonalizada'}}">

Siempre puede usarse:
Insertar CODE, HTML o PHP:
<div class="section threadList {xen:if "in_array({$algo}, array({$cosa}, {$otraCosa}, {$otraCosaMas}))", 'miClasePersonalizada'}">

En el siguiente caso real, se aplicará una clase personalizada
(premiumUserGroup) al bloque de información del usuario si el miembro pertenece a un grupo específico (5).
Edita la plantilla message_user_info y cambia esto:
Insertar CODE, HTML o PHP:
<div class="messageUserBlock {xen:if $user.isOnline, online}">
Por esto:
[code]<div class="messageUserBlock {xen:if $user.isOnline, online} {xen:if "{xen:helper ismemberof, $user, 5}", 'premiumUserGroup'}">

Entonces agrega la clase relevante a la plantilla EXTRA.css, como por ejemplo:
Insertar CODE, HTML o PHP:
.premiumUserGroup
{
   background-color: orange !important;
}
Además de para editar plantillas y frases, pueden hacerse cambios en el estilo y diseño, utilizando CSS o, incluso, editando el HTML.

Trabajar con CSS y HTML precisa de ciertos conocimientos. Si no estás familiarizado conello, puede servirte algún tutorial de los muchos que hay para iniciarse, como por ejemplo: Tutoriales en línea web de W3Schools

Una vez identificado el componente a cambiar, existen varias vías para hacerlo, dependiendo del elemento.

Una vez más, vamos a usar para este ejemplo el bloque Equipo conectado en la barra lateral del índice del foro.
Particularmente queremos cambiar el estilo del encabezado del bloque.
Advierte que si tienes varios estilos instalados precisarás realizar estos cambios en cada estilo primario.

El método más sencillo es usar las Propiedades del estilo, sobre todo si existe para el elemento que se quiere cambiar.
Para acceder a las propiedades del estilo, navega a PCA -> Aspecto -> Propiedades del estilo:
1.png

Existe una vía para identificar si un elemento tiene una propiedad del estilo, a la que nos referiremos más tarde, pero que en este ejemplo puede apreciarse que es el grupo Barra lateral, más que probable que sea este grupo el que precisamos, por lo que haremos clic en él:
2.png

Y como estamos interesados en el bloque título, haremos clic en el elemento Bloque de encabezado de la lista:
3.png

Cualquier cambio aquí hecho se aplicará al bloque en el ídice del foro, así que vamos a cambiar el color del texto a rojo para verlo actuar.
Haz clic en el pequeño cuadrado azul del apartado Texto -> Color
[/I]
4.png

Existen varias vías de introducir el color aunque para este ejemplo secribiremos rojo (para CSS siempre hay que escribir el color en inglés: red) en el campo de abajo y haremos clic en en el botón Aceptar:
5.png

Haz clic entonces en el botón Actualizar:
6.png

Cuando veámos el índice del foro el color del título veremos que ha cambiado a rojo.
7.png

Sin embargo, hemos cambiado el color de todos los demás títulos, que no es el resultado esperado. Más adelante, en esta guía, apuntaremos a sólo un bloque específico.

Existen diferentes vías para obtener el mismo resultado, que se irá explicando en los siguientes pasos, pero primero precisamos reiniciar las proppiedades del estilo a su estado predeterminado.
Navega alla página de las propiedades del estilo del Bloque de encabezado y marca la casilla Restablecer y haz clic en el botón Actualizar:
8.png

Otro método de cambiar es usar la plantilla EXTRA.css.
Para realizar lo que necesitamos, precisamos las clases usadas de CSS, que típicamente precisa del inspector del navegador. Sigue la guía Identificar plantillas para saber como hacerlo.

En este caso el código de la plantilla (panel izquierdo) y las clases de CSS (panel derecho) están disponibles inspeccionando el elemento en cuestión:

Podemos apreciar que el div primario en el panel izquierdo tiene una clase sidebar y que el estilo aplicado al elemento en el panel de la derecha tiene una combinación de los selectores .sidebar .section .primaryContent h3 a:
9.png

Para cambiarlo precisamos cargar la plantilla EXTRA.css navegando a PCA -> Aspecto -> Plantillas
Una vez cargada la plantilla, agregaremos el CSS personalizado y haremos clic en el botón Guardar todos los cambios:
10.png

Podremos apreciar estos cambios al ver el índice del foro, el color del título ha cambiado:
7.png

Sin embargo, debido al uso de selectores específicos en el CSS que no todas las clases tienen, en este caso a después de h3, que es específicamente para enlaces; los títulos de los dos bloques de arriba son enlaces, los dos de abajo no.
Este ejemplo remarca como usar la plantilla EXTRA.css es mejor en algunos casos ya que hace posible apuntar a elementos específicos, obteniéndose un control más detallado que el disponible usando las propiedades del estilo.

Si queremos apuntar al bloque Equipo conectado por ejemplo, deberemos agregar esto a la plantilla EXTRA.css en su lugar:
11.png

Denota que hemos agregado el selector .staffOnline, que es una clase única para este bloque.

El resultado es:
12.png

El método final comprende la edición diracta de la plantilla de CSS.
Sigue siendo necesario conocer las clases CSS para poder hacerlo.
Cómo ya conocemos las clases a través del inspector del navegador, es tan simple como usarlas en una búsqueda de plantillas y encontrar así la plantilla que contiene ese nombre de clase.
La guía relativa a cómo Identificar plantillas explica el cómo hacerlo.

En este caso buscaremos por la clase principal .sidebar, con el siguiennte resultado en el listado de plantillas:
13.png

No siempre es obvio qué plantilla de CSS es preciso editar, pero en este caso haz clic en la plantilla sidebar.css.
Una vez cargada, usaremos la función de búsqueda del navegador (CTRL+F) para localizar la clase específica, en este caso .sidebar .section .primaryContent h3 a, que nos da:
14.png

Ahora ya podemos editar directamente el CSS simplemente agregando una regla o sobreescribiendo alguna ya existente.
Aunque se trata en su mayor parte de CSS estándar, existe un elemento adicional con la forma de etiquetas @property.
Cualquier cosa agregada o cambiada entre estas etiquetas actualizará su correspondiente poriedad del estilo.

Así que una vez más vamos a cambiar el color a rojo:
15.png

Al mirar la correspondiente propiedad del estiloveremos que se ha actualizado para reflejar el cambio aplicado en la plantilla de CSS:
16.png

Ya he mencionado antes que no todos los elementos tienen una propiedad del estilo.
Para poder identificar si existe una propiedad del estilo busca el CSS en las plantillas usando el método previamente explicado y mira la presencia o no de etiquetas @property.
Si existen etiquetas puede usarse la característica de Búqueda en el PCA para localizar la propiedad del estilo, escribiendo toda o parte del nombre de la etiqueta, algo así como:
17.png

Haciendo clic en el resultado adecuado - el Bloque de encabezado en este caso - cargará la página de la propiedad del estilo.
Pasando el cursor sobre el nombre en la lista, también mostrará el nombre de etiqueta de la propiedad.
18.png

Otras opciones de estiladoincluyen agregar tus propias clases personalizadas en la plantilla, bien definiéndola en la correspondiente plantilla de CSS, en la plantilla EXTRA.css o bien llamando a tu propia plantilla de CSS personalizado.

Existen pros y contras sobre cada enfoque cuando se aplican al estilado. Depende en gran medida de sus preferencias, de la naturaleza del elemento que se estila y de la magnitud de los cambios.
No existe modo correcto o incorrecto, solo experimentar y elegir lo que prefieras.
Agregar contenido personalizado puede requerir a veces el uso de una nueva plantilla.
Esto facilita el seguimiento de las personalizaciones y limita el código agregado a las plantillas predeterminadas.

Por ejemplo, para añadir un bloque personalizado a la barra lateral o sidebar, puedes añadir el código directamente a la plantilla forum_list, tal y como se detalla en editar plantillas.
Sin embargo, en dependencia de la cantidad de código y de su naturaleza, puede ser mejor agregarlo en una nueva plantilla e incluido a su vez en la plantilla padre.

Para crear una nueva plantilla, navega a PCA -> Aspecto -> Plantillas.
1.png

Selecciona el estilo en el que quieres crear la nueva plantilla. Denota que si tienes varios estilos instalados, necesitarás crear la plantilla en cada estilo primario:
2.png

Haz clic en el botón + Crear plantilla:
3.png

Escribe un nombre de plantilla y su contenido. Es una buena idea prefijar cualquier plantilla que se crea, usando algo único, para evitar conflictos con el motor del software y complementos. En este caso, el nombre de la plantilla comprende un prefijo (miprefijounico_) y una descripción general del uso de la plantilla (bloque_en_sidebar):
4.png

Una vez guardada, aparecerá en la plista de plantillas:
5.png

Ahora puedes llamar a la plantilla desde cualquier otra usando la sintaxis:
Insertar CODE, HTML o PHP:
<xen:include template="miprefijounico_bloque_en_sidebar" />

En este ejemplo, queremos que aparezca en la sidebar del índice de foros, por lo que la agregaremos a la plantilla forum_list:
6.png

Una vez guardada, se puede apreciar que la plantilla aparece en la fila de pestañas de encima del contenido de la plantilla:
7.png

Su contenido también aparece en la sidebar:
8.png

Obviamente puede aplicarse un estilado para hacerlo coincidir con lo que hay y se puede agreagr un título con el código siguiente:
Insertar CODE, HTML o PHP:
<div class="section">
   <div class="secondaryContent">
       <h3>Mi bloque en la sidebar</h3>
       Esto se mostrará en la barra lateral.
   </div>
</div>
y se verá así, mucho mejor:
9.png

Para eliminar la plantilla, hay que hacer clic en la X roja del listado de plantillas, o hacer clic en el nombre de la plantilla y hacer clic en el botón Revertir plantilla...:
10.png

Asegúrate de eliminar todas las referencias a la plantilla en otras plantillas.
Continuando con la guía anterior sobre cómo identificar una plantilla, este tutorial nos enseñará a editar una plantilla.

Una vez más, usaremos de ejemplo el bloque Equipo conectado de la barra lateral del índice de foros.

Ya conocemos que la plantilla a editar es sidebar_online_users por lo que iremos a PCA -> Aspecto -> Plantillas y abriremos la plantilla:
1.png

Localizaremos el bloque específico de código que se quiere editar, en este caso está remarcado por líneas de comentario:
2.png

Para eliminar por completo el bloque, tenemos dos vías de ejecución. La primera es simplemente eliminar el código:
3.png

La otra forma es usar las etiquetas <xen:comment>, que impiden el análisis del su contenido:
4.png

Para mover el bloque debajo del bloque Conectados por ejemplo, lo haremos moviendo el código:
5.png

Pueden usarse Condicionales de plantillas, cómo por ejemplo evitar su visionado por los no registrados:
6.png

Naturalmente, puedes realizar los cambios que desees o precises, como agregar una clase nueva a un elemento, agregar elementos adicionales o eliminarlos (asumiendo que el código resuoltante sea válido), cambiando nombres de frases, etc.

Advierte que si tienes varios estilos instalados precisarás realizar las mismas variaciones en cada estilo primario.


Las plantillas editadas se remarcan en la lista de plantillas con una X roja:
7.png

Para restaurarla a su estado original, hay hacer clic en la X roja o en el nombre de la plantilla y hacer clic en el botón Revertir plantilla....
8.png
Si se desea cambiar la posición d eciertos elementos, agregar algo específico o crear un único estilo, puede resultar necesario editar plantillas.

Existen varias vías para determinar qué plantilla editar.
En esta guí nos vamos a centrar en la página índice del foro que se corresponde con la plantilla forum_list y, particularmente, en localizar el bloque Equipo Conectado de la barra lateral o sidebar.

El primer método consiste en usar la herramienta de inspección del navegador lo que precisa de una computadora de sobremesa.

Navega a la página que quieres identificar y carga el Inspector del navegador; En Chrome y Firefox presionando la tecla F12 se obtiene:
8.png

9.png

Ahora haz clic en el botón [+] que está a la izquierda de la etiqueta <body> en la ventana del inspector, repite para <headerMover> hasta encontrar la etiqueta <div id="content" class="...">:
1.png

El nombre de la plantilla es la clase, por lo que en este ejemplo, es la plantilla forum_list.


Otra manera de hcerlo es ver el código fuente de la página. Esto también suele requerir de una computadora de sobremesa.

Navega hasta la página que quieres identificar qué plantilla usa y abre el código fuente de la página, bien haciendo clic con el botón derecho del ratón y seleccionando la opción Ver código fuente de la página
2.png

bien usando un atajo de teclado; En Chrome y Firefox es CTRL+U. Así se obtiene una página similar a esta:
3.png

Localiza entonces la misma etiqueta <div id="content" class="..."> tag o usa la función de búsqueda del navegador para localizarla; CTRL+F en Chrome y Firefox;
4.png


Una vez que tenemos el nombre de la plantilla, navigamos a PCA -> Aspecto -> Plantillas
5.png

Usa el campo Filtrar para reducir el listado:
6.png

Haz clic entonces en el nombre de la plantilla para verla:
7.png

Sin embargo, aunque hemos localizado la plantilla principal, no es necesariamente la plantilla que contiene el código que estamos buscando.
Buscando en la plantilla forum_list, no hay referencias al bloque Equipo Conectado.
Esto se debe a la inclusión de otras plantillas en una plantilla que actúa como esqueleto de todo el contenido que se visiona en la página.
Pueden verse las plantillas que se llaman en el código:
8.png

En referencia a la imagen de arriba,denota la fila de pestañas que está encima del contenido de la plantilla. Son todas las plantillas incluidas en esta plantilla.
Como estamos interesados en un bloque de la barra lateral o sidebar, Es seguro asumir que el código que estamos buscando está en una de ellas.

Por ello, al hacer clic en la pestaña sidebar_online_users tab, podemos ver que es de hecho la plantilla correcta:
9.png

Otra vía alternativa para identificar una plantilla conlleva el uso de frases. Esto no precisa de una computadora de sobremesa por lo que es una opción a tener en cuenta si no puedes disponer de una. Bastante a menudo es más rápido y más directo que hacerlo a través de uno de los métodos anteriores.

Localiza una única frase de la página, en este caso vamos a usar la frase Equipo conectado.
10.png

El siguiente paso es localizar la frase actual; Mira en esta guía para saber cómo hacerlo: Localizar y editar frases

En nuestro caso, la fase es staff_online_now:
11.png

Una vez obtenido el nombre de la frase, debemos buscarla en las plantillas. Navega a PCA -> Aspecto -> Buscar en plantillas y escribe el nombre de la frase en el campo La plantilla contiene, algo así como:
12.png

Y que nos devuelve el siguiente resaultado:
13.png

Como puede verse, el resultado final es el mismo, la plantilla sidebar_online_users, aunque lo localizamos directamente usando el sistema de frases, en lugar de hacerlo a través de la plantilla principal que la llama.

That is something to bear in mind when working with templates.
Entre editar una frase existente o insertar texto directamente en una plantilla, hay veces que es preferible crear una nueva frase.

Esto se hace una realidad si hay que insertar el texto en varios sitios, haciéndolo más rápido y simple de actualizar y de cometer menos errores.


Para crear una nueva frase, navega a PCA -> Aspecto -> Frases

1.png




Selecciona el idioma en el que deseas crear la nueva frase. Advierte que si tiene varios idiomas instalados, necesitarás crear la frase en cada uno de ellos:

2.png




Haz clic en el botón + Crear Frase:

3.png




Introduce un título y el texto de la frase. Una gran idea es prefijar cualquier frase que crees, usando algo único, para evitar conflictos con el motor del software y con complementos. En este caso el título comprende un prefijo (miprefijounico_) y el texto de la frase (esta_es_mi_frase):

4.png




una vez salvada la frase aparecerá en la lista:

5.png




Ahora puedes llamar a la frase en cualquier plantilla con la siguiente sintáxis:
Insertar CODE, HTML o PHP:
{xen:phrase miprefijounico_esta_es_mi_frase}

Para eliminar la frase, bien haces clic en la X roja o haces clic en la frase y clic en el botón Revertir frase...:

6.png




Asegúrate de que todas las referencias en plantillas se han borrado.
Existen varias maneras de buscar en frases.

El método más sencillo de identificar una frase en aprticular es siguiendo estos pasos.


Accede a la página de búsqueda de frases navegando por PCA -> Aspecto -> Buscar en frases

1.png



Introduce un trozo del texto que quieres encontrar, algo así como:

2.png



Esto retorna una lista de frases coincidentes - cunato más específico seas, menos frases obtendrás. Si no retorna ninguna, sé algo menos específico:

3.png



Otra forma requiere conocer el nombre de la frase, o hacer una conjetura en cuanto a lo que puede ser.


Accede a la lista pincipal de frases navegando por PCA -> Aspecto -> Frases

4.png



Escribe una parte del nombre de la frase en el campo Filtrar. De nuevo se devuelve una lista de frases coincidentes, algo así como:

5.png



En este ejemplo, solo estamos interesados en la primera frase de la lista de resultados, por lo que haz clic en ella:

6.png



Ahora edita el texto de la frase (nunca el título) y guarda los cambios. Advierte que si tienes varios idiomas instalados precisarás editar editar la frase en cada idioma:

7.png



Ahora se mostrará el texto de la nueva frase en vez de la original.


Al visionar el listado de frases, las frases editadas tendrán una X en rojo para indicar que han sido editadas.

8.png



Para restaurar la frase a sutexto original, hay que hacer clic en la X roja o hacer clic en al frase y hacer clic en el botón Revert Phrase... .

9.png
Arriba